我是 Angular 的新手,可能试图做错事。
我想要做的是创建一个验证消息指令,它可以显示表单中特定输入字段的验证消息。如果输入字段缺少值,它应该只显示必填字段的验证消息。
我尝试过使用以下 HTML:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<form name="myForm">
<input name="myInput" type="text" x-ng-model="object.input" required/><br/>
<span ng-show="myForm.myInput.$error.required" >Value required (working)</span><br/>
<span x-msg-required="myForm.myInput"></span>
</form>
</body>
</html>
和JS:
var app = angular.module('myApp', []);
app.directive('msgRequired', function() {
return {
link : function(scope, element, attrs) {
element.text('Value required');
attrs.$set('ngShow', attrs.msgRequired + '.$error.required' );
}
};
});
第一个带有 out 指令的 span 元素按预期显示验证消息。我的指令的 span 元素似乎总是显示验证消息。我肯定不理解角度的指令。我错过了什么或者有更好的方法来简化角度验证消息?
有一个plunker:http ://plnkr.co/edit/Gjvol8inw1DlWjHomZQw