我有一个输入列表,其中的用户可以在电子邮件中输入,在这些输入中我想允许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
的形式返回。
因此,在我的循环中,我可以访问用户输入的原始文本,例如:
test@@email..com
vaild@email.com
我可以访问输入元素,如
<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="">
那么如何在我的控制器的循环中验证电子邮件呢?
由于
答案 0 :(得分:0)
为了检查控制器中的输入,您必须在其中设置“name”属性。例如:
<input type="email" name="email_name" 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="">
然后在控制器中访问$ valid属性:
...
if(myForm.email_name.$valid) {
...
}
...