指令

时间:2015-07-22 18:40:56

标签: angularjs

我需要从指令添加输入验证。

我试过

return{
    restrict: 'A',
    link: function(scope, elem, attrs){
        attrs.$set('required', 'required');     
    }
}

我可以在dom上看到这个属性但是表单没有验证它。 我正在使用下面提交的提交来验证表单。

<input type="submit" value="submit" ng-disabled="myForm.$invalid">

2 个答案:

答案 0 :(得分:1)

您的代码不起作用的主要原因是,一旦添加了属性,您就不再在元素上使用$ compile。

Angular需要重新解析元素并在将其添加为属性后运行'ng-required'指令,否则angular不知道它,因为DOM已经被渲染。

另一件事是你可以在编译阶段而不是链接阶段这样做,因为我可以看到你没有使用范围内的任何东西。

以下是您可以做的事情:

{{1}}

您可以在this SO answer

中阅读更多内容

答案 1 :(得分:0)

如果您没有为输入验证分配模型,那么就会变得难以理解。我建议添加一个模型并重读以下信息。

https://docs.angularjs.org/api/ng/directive/input