angularjs表单自定义验证指示
在第一个字段更改后,我尝试将所有字段设置为错误。但我不明白什么是错的,为什么第二个字段从不出错 这是一个简单的例子 和代码angularjs表单自定义验证指示,angularjs,validation,angularjs-directive,Angularjs,Validation,Angularjs Directive,在第一个字段更改后,我尝试将所有字段设置为错误。但我不明白什么是错的,为什么第二个字段从不出错 这是一个简单的例子 和代码 前面部分: 你的标题是Angular2,但这显然是angularJS。。。。这是一个打字错误吗(我的意思是标题)?主要的想法是在angular 2中另一个字段被更改后使一个字段出错,但例如,我选择了最简单的方法将其放在W3上。我真的是个新手,如果我犯了错误,请告诉我。谢谢。是的,你的代码根本不是Angular2,而是AngularJS。那么你想做什么,Angular(2)
前面部分:
你的标题是Angular2,但这显然是angularJS。。。。这是一个打字错误吗(我的意思是标题)?主要的想法是在angular 2中另一个字段被更改后使一个字段出错,但例如,我选择了最简单的方法将其放在W3上。我真的是个新手,如果我犯了错误,请告诉我。谢谢。是的,你的代码根本不是Angular2,而是AngularJS。那么你想做什么,Angular(2)还是AngularJS?:)只是想知道,如果你想做AngularJS,请更改你的标题并从你的问题中删除Angular2标记,这样就不会有混淆:)
<form name="mainform" id="mainform">
<md-input-container class="md-block">
<label>first</label>
<input name="capital" ng-model="capital" validatecapitalparts>
</md-input-container>
<div layout-gt-sm="row">
<md-input-container class="md-block" flex-gt-sm>
<label>second</label>
<input name="onecost" ng-model="onecost">
</md-input-container>
</form>
<h1>{{mainform.capital.$valid}}</h1>
<h1>{{mainform.onecost.$valid}}</h1>
var app = angular.module('myApp', []);
app.directive('validatecapitalparts', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
ngModelCtrl.$parsers.unshift(function (viewValue) {
ngModelCtrl.$setValidity('onecost', false);
ngModelCtrl.$setValidity('capital', false);
return viewValue;
});
ngModelCtrl.$formatters.unshift(function (modelValue) {
ngModelCtrl.$setValidity('onecost', false);
ngModelCtrl.$setValidity('capital', false);
return modelValue;
});
}
};
});