Angularjs在指令中得到表单字段有效性
发布时间:2020-12-17 08:17:07 所属栏目:安全 来源:网络整理
导读:我希望这不是一个重复的 – 很多类似的问题,但我找不到一个有效的答案。 我有一个角度指令,因此: app.directive('emailInput',function(){ return { restrict: 'E',templateUrl: 'template.html',link: function(scope,elem,attrs,ctrl){ elem.bind('keyu
我希望这不是一个重复的 – 很多类似的问题,但我找不到一个有效的答案。
我有一个角度指令,因此: app.directive('emailInput',function(){ return { restrict: 'E',templateUrl: 'template.html',link: function(scope,elem,attrs,ctrl){ elem.bind('keyup',function(){ // TODO - what? }) } } } 并在模板html中: <input type="email" required ng-model="emailAddress" /> 不知道表单的名称,在链接函数内,我想知道emailAddress的值。$ valid属性 – 我该如何得到这个?
您可以要求formController,这将允许您访问注册到表单的所有输入
app.directive('emailInput',function(){ return { require: '^form',// We look for it on a parent,since it will be defined somewhere higher on the DOM. restrict: 'E',ctrl){ elem.bind('keyup',function(){ ctrl.emailAddress.$valid //check validity }) } } } 请记住,Angular会按照名称跟踪输入元素。所以你必须给你的输入一个name属性 <input type="email" required ng-model="emailAddress" name="emailAddress" /> 我也建议可能通过指令属性传递所有这些。你可能不想硬编码字段名称。所以你可以只有一个具有有效性的属性 inputIsValid='formName.emailAddress.$valid' 并在您的指令中评估(或$ watch it)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |