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

使用AngularJS的形式的动态验证和名称

发布时间:2020-12-17 09:10:50 所属栏目:安全 来源:网络整理
导读:我有这种形式: http://jsfiddle.net/dfJeN/ 如您所见,输入的名称值是静态设置的: name="username" ,表单验证工作正常(添加东西并从输入中删除所有文本,文本必须出现)。 然后我尝试动态设置名称值:http://jsfiddle.net/jNWB8/ name="{input.name}" 然后
我有这种形式: http://jsfiddle.net/dfJeN/

如您所见,输入的名称值是静态设置的:

name="username"

,表单验证工作正常(添加东西并从输入中删除所有文本,文本必须出现)。

然后我尝试动态设置名称值:http://jsfiddle.net/jNWB8/

name="{input.name}"

然后我将其应用于我的验证

login.{{input.name}}.$error.required

(此模式将用于ng重复),但我的表单验证被打破。它在我的浏览器中正确解释(如果我检查我看到的元素login.username。$ error.required)。

任何想法 ?

编辑:在控制台中记录范围后,看起来

{{input.name}}

表达式不是内插。我的表单为{{input.name}}属性,但没有用户名。

更新:自从1.3.0-rc.3 name =“{{input.name}}”按预期工作。请参阅#1404

你不能做你想这样做。

假设你想要做的是你需要动态地添加元素到一个表单,如ng-repeat,你需要使用嵌套的ng-form来允许验证这些单独的项目:

<form name="outerForm">
<div ng-repeat="item in items">
   <ng-form name="innerForm">
      <input type="text" name="foo" ng-model="item.foo" />
      <span ng-show="innerForm.foo.$error.required">required</span>
   </ng-form>
</div>
<input type="submit" ng-disabled="outerForm.$invalid" />
</form>

可悲的是,它不是一个有据可查的Angular的特性。

(编辑:李大同)

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

    推荐文章
      热点阅读