我有一个名为“myForm”的表单,并且有很多必填字段。
<input type="text" name="form.user.name" ng-model="form.user.name" required/>
<input type="text" name="form.user.email" ng-model="form.user.email" required/>
<input type="text" name="form.user.phone" ng-model="form.user.phone" required/>
<input type="text" name="form.user.accountNumber" ng-model="form.bank.accountNumber" required/>
<input type="text" name="form.user.accountName" ng-model="form.bank.accountName" required/>
现在我只想检查 form.user
信息的有效性。我该怎么做?
最佳答案
先通过这个链接
https://docs.angularjs.org/guide/forms
自定义验证示例
<form name="form" class="css-form" novalidate>
<div>
<label>
Size (integer 0 - 10):
<input type="number" ng-model="size" name="size"
min="0" max="10" integer />{{size}}</label><br />
<span ng-show="form.size.$error.integer">The value is not a valid integer!</span>
<span ng-show="form.size.$error.min || form.size.$error.max">
The value must be in range 0 to 10!</span>
</div>
</form>
ng-show
下一行,form
为表单名,size
为输入字段名,$error
是存储失败验证器的默认对象。 integer
是对输入字段进行验证的指令。
<span ng-show="form.size.$error.integer">The value is not a valid integer!</span>
脚本
var app = angular.module('form-example1', []);
var INTEGER_REGEXP = /^-?\d+$/;
app.directive('integer', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$validators.integer = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
// consider empty models to be valid
return true;
}
if (INTEGER_REGEXP.test(viewValue)) {
// it is valid
return true;
}
// it is invalid
return false;
};
}
};
});
关于javascript - 如何以 Angular 检查表单的一些必填字段的有效性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373163/