如何在AngularJS中有条件地添加指令



你能告诉我如何在angular js中有条件地添加指令吗。实际上,我是从JSON生成视图的。我想向添加自定义指令,只有的某些字段具有checkInput属性。示例:我创建了一个自定义指令名称"checkInput">我想将其添加到具有"checkInput"属性true 的输入字段中

"First Name": {
"value": "",
"type": "FIELD",
"editable": true,
"dataType": "",
"required":true,
"checkInput":true
},

你能告诉我如何添加这个吗

这是我的代码http://plnkr.co/edit/YmIMEGHm7E48wZQT9ZSb?p=preview

.directive("checkInput", function() {
return {
require: "ngModel",
//name your scope key and value.
link: function(scope, element, attributes, modelVal) {
modelVal.$validators.checkInput= function(val) {
var phonenoRegex = /^[0-9]+$/;
if (val.match(phonenoRegex))
{
return false
}
else{
return true
}
console.log(val);
};
scope.$watch("val", function() {
modelVal.$validate();
});
}
};
});

更新

在我的例子中,我只有名字有"checkInput":true属性。所以我只想在名字中添加这个指令。不是所有的输入字段都是

有什么更新吗?

任何更新

@Joy您只想验证名字。你可以使用这项工作。

<div ng-if="(key=='First Name')">
<input type="text" name="{{key}}" class="form-control" ng-model="value.value" ng-required="value.required && isSubmitClicked" check-input>
</div>
<div ng-if="(key!='First Name')">
<input type="text" name="{{key}}" class="form-control" ng-model="value.value" ng-required="value.required && isSubmitClicked" >
</div>

我希望我回答了你的问题。接受答案,如果你有任何困惑,请告诉我。:(

最新更新