Cyr*_*ril 1 angularjs angularjs-scope
我试图通过其控制器为一个表单设置一个验证令牌"fooname",点击一个基于条件的按钮.
但它看起来像form.$ error.fooname没有设置.{{form.$ error.fooname}}被解析为null.
JavaScript的:
angular.module('app', [])
.controller('controller', ['$scope', function ($scope) {
$scope.data={};
$scope.data.validate=function () {
if ($scope.data.name=="foo") {
$scope.form.$setValidity("fooname",true);
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
HTML:
<form name="form" ng-controller="controller"
ng-submit="data.validate()" ng-init="form.$setValidity('fooname',false)"
novalidate>
<input type="text" ng-model="data.name" name="name"/>
<button type="submit">Submit</button><br/>
{{data}}<br/>
{{form.$error.fooname}}
</form>
Run Code Online (Sandbox Code Playgroud)
$setValidity在表单控制器上定义的函数,根据源代码获取三个参数:
form.$setValidity = function(validationToken, isValid, control) {
另外,为了验证失败,您需要将值设置为falsenot true.将表达式更改为
$scope.form.$setValidity("fooname",true,$scope.form);
此外,$errorfor FormController返回未通过验证的控制器列表,因此您需要相应地调整代码.
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |