AngularJS验证问题
我尝试使用AngularJS指令来验证表单productForm
,所以我尝试:AngularJS验证问题
<form id="productForm" name="productForm" novalidate>
<div style="width: 100%; margin-top: 15px; float: right; ">
<label style="width:103px;float:right" class="col-sm-2" for="ProductName">ProductName: </label>
<div style="float:right" class="col-sm-5">
<input ng-required="true" class="form-control" style="float:right" type="text" id="ProductName" name="ProductName" ng-model="modal.ProductName" value="" />
</div>
<div style="float:right" class="col-md-7" >
<span class="help-block" ng-if="productForm.ProductName.$error.required && productForm.ProductName.$dirty && productForm.ProductName.$touched "> Name is Must</span>
</div>
</div>
<button class="btn" style="background-color: #ed9c28;" type="button" ng-click="Save()" ng-disabled="productForm.$invalid">Save</button>
</form>
这样的问题是:当用户触摸ProductName
,然后失去焦点,所需要的信息没有显示(它只是显示当用户输入输入,然后从输入中清除全文,但我想显示错误信息,当输入为空时),我尝试使用productForm.ProductName.$touched
在ng-if
的错误消息做它,但它不起作用,我该怎么做?
我就省略了$脏检查,而是检查$invalid
和$touced
:
ng-if="productForm.ProductName.$invalid && productForm.ProductName.$touched"
是不是答案。 'ngShow'和'ngIf'都适用于这种情况(即使在任何情况下都不应该使用ngShow)。 – developer033
@ developer033为什么在任何情况下都使用ngShow?解决方法是省略脏检查和注释,我将使用ng-show只是一个提示。但也许你可以说服我...... –
那么,'ngShow'被认为是一种不好的做法。 'ngIf'是推荐的,但你可以使用'ngShow'。我在这里指出,他的问题不在'ngIf'中。 – developer033
要了解发生了什么做到这一点:''
这 – developer033