私は、電子メールで使用できる入力のリストを持っています。これらの入力では、私はng-model-options="{allowInvalid: true}"
の入力タグでinvaild入力を許可したいとしています。それらの電子メールは、私の機能enter()
をコントローラに呼び出すサブミットボタンを押した。電子メールの妥当性確認
HTMLでは、各電子メール入力をng-model="item.text"
に設定していますので、コントローラでメールをループすることができます。これが有効かどうかを確認したいところです。これどうやってするの?私はhttps://docs.angularjs.org/api/ng/input/input%5Bemail%5DmyForm.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'をループします。 $ valid) '? – iqueqiorio
同じフォームで2つ以上の入力を同じ名前にすることはお勧めできません。それは異なった形で大丈夫ですが。入力数が一定の場合は、入力の数を異ならせてください。もしそうでなければ、あなたはこのアプローチを試みることができます:https://jsfiddle.net/vk94weuu/4/ –
申し訳ありません、jsfiddleは機能しませんでした。アップデート:https://jsfiddle.net/vk94weuu/5/ –