他の<div>
要素内にネストされた入力フィールドがあり、その入力フィールドでngMessagesを使用しようとしていますが、正しく検証することができません。ngMessagesがネストされた入力で正しく機能しない
<div class="form-group" ng-model="object.idnumber" ng-hide="condition.userObjectsHidden">
<label class="form-control-label col-lg-12">ID Number</label>
<div class="col-lg-12">
<input type="text" name="idnumber" placeholder="111001111"
ng-model="user.idnumber"
ng-pattern="idpattern"
class="form-control input-lg"
required="required"></input>
<div ng-messages="idnumber.$error" ng-if="idnumber.$dirty">
<p ng-message="pattern">You are wrong!</p>
</div>
</div>
</div>
私は<div ng-messages...>
タグがある場合、それは機能性の面で重要かどうかわからないんだけど、私も同じ結果と、この要素の外に完全にそれを持っ試してみました。 AngularとngMessagesが正しく理解されていれば、は、name
の割り当てを介してドットウォークすることにより、この場合は$error
という指示にng-messages
を割り当てる必要があります。私が知る限り、idnumber.$error
でこれを行いましたが、公正であるように、私はkiosk-form.uin.$error
を使ってより広範なドットウォークを試みました。ここでkiosk-form
はフォーム全体の名前です。
私はng-message="pattern"
とng-message="required"
の両方を試しました。また、わかりやすくするために、idpattern
はJavascriptファイル内で正規表現の文字列として定義されています。これは正しく定義されています。
として、フォームの名前を変更します!ありがとう!どうして綴り方にかかわらず、 'kioskForm'を使う必要があるのはなぜですか? 'idnumber'は完全にユニークです。他のどこにでもネストされた別の「idnumber」はありません。したがって、私のロジックでは、 'idnumber。$ error'を使うだけで、その名前の既存の要素に自動的にマッピングされます。 – UnworthyToast
これは知っておいてよかったですが、Angularは 'kioskForm。$ error'のようにフォーム名を持つすべてのフォームのエラーオブジェクトを保持します。 –
ああ、フォームに結びついています!それは大いに役立ちます。再度、感謝します! – UnworthyToast