如何在不使用字段名或字段名作为数组(例如user [user_name])的情况下跟踪表单中的输入字段验证?
样例代码:
<div ng-class="{ 'has-error' : saveUserForm.user[first_name].$invalid && !saveUserForm.user[first_name].$pristine }">
<input type="text" value="{{userAttr.first_name}}" required ng-model="userAttr.first_name" name="user[first_name]" id="inputFirstName">
</div>
将数组名称“ user [first_name]”用于表单字段不起作用,并且我无法将其更改为“ firstName”之类的简单名称。
我可以在此处使用字段“ inputFirstName”的ID:saveUserForm.inputFirstName。$ invalid吗?
名称属性为必填*,但Angular并不讨厌该名称。只要名称user[first_name]
正确,就可以确定。
假设这样的名称:name="user[first_name]"
您应该这样引用:saveUserForm['user[first_name]'].$...
例如
<div ng-class="{'has-error':saveUserForm['user[first_name]'].$invalid&&
!saveUserForm['user[first_name]'].$pristine}">
另请参见此简短演示。
一点解释:
在JavaScriptsaveUserForm.user[first_name]
中,等效于a[b]
wherea = saveUserForm.user
和b = first_name
*:通过创建自定义指令,使用父窗体的父窗体FormController
并使用其$addControl()
方法添加元素,您也许可以不使用任何名称,但是实际上并不需要这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句