验证电子邮件AngularJS我的投入,其中使用可以键入电子邮件列表,并在这些输入我想允许invaild输入等输入的标签我有ng-model-options="{allowInvalid: true}"
,然后当用户完成所有键入有电子邮件,他们击中了一个提交按钮,在控制器中调用我的功能enter()
。在控制器
在HTML我已经设置每个电子邮件输入与ng-model="item.text"
所以后来在控制器我可以依次通过我的电子邮件。这是我想检查它们是否有效的地方。我怎样才能做到这一点?
我上https://docs.angularjs.org/api/ng/input/input%5Bemail%5D看到myForm.input.$valid
使用,所以我得到了所有的投入要素,并试图inputEle.$valid
但总是回来为undefined
。
所以在我的环我都可以访问两个原始文本的用户放在诸如:
[email protected]@email..com
[email protected]
而且我有机会获得输入元素一样
<input type="email" placeholder="Email" ng-model="item.text" ng-model-options="{allowInvalid: true}" class="ng-not-empty ng-dirty ng-invalid ng-invalid-email ng-invalid-remove ng-valid-email-add ng-invalid-email-remove ng-touched" style="">
那么如何在这在我的控制器循环可以验证电子邮件?
感谢
好了,所以如果我有输入列表中的所有具有相同的名称,例如“email_name”,我得到它们就像这样'var emails = document.getElementsByName('email_name')',然后通过'emails'循环,所以在每次迭代中我都有'email'我可以做'if(email 。$有效)'? – iqueqiorio
我不认为在同一表单中命名两个或多个输入相同是个好主意。虽然可以采用不同的形式。如果输入的数量不变,则以不同的名称命名。如果没有,那么你可以尝试这种方法:https://jsfiddle.net/vk94weuu/4/ –
对不起,jsfiddle无法正常工作。更新:https://jsfiddle.net/vk94weuu/5/ –