加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读