通常のテキスト入力を含む単純な html フォームがあります。ng-minlength
、angular組み込みフォーム入力ディレクティブng-maxlength
が入力に設定されています。ng-pattern
問題:およびng-pattern
による長さチェックの前にチェックが適用されます。ng-minlength
ng-maxlength
質問: デフォルトのチェック順序を変更するにはどうすればよいですか? つまり、最初に長さをチェックしてから、パターン チェックを適用しますか?
例:
<body ng-app>
<div>
<form name="myForm">
Name: <input name="name" type="text" ng-model="name" ng-minlength="3" ng-maxlength="16" ng-pattern="/^\w+$/"/>
<div ng-show="myForm.name.$dirty && myForm.name.$invalid">
<span ng-show="myForm.name.$error.pattern">Pattern error</span>
<span ng-show="myForm.name.$error.minlength || myForm.name.$error.maxlength">Length error</span>
</div>
<br/>
<input type="submit" value="Submit">
</form>
</div>
</body>
現在の動作:
- 「#」を入力してください - 「パターンエラー」を参照してください
- 「###」を入力してください - 「パターンエラー」を参照してください
望ましい動作:
- 「#」を入力してください - 「長さエラー」を参照してください
- 「###」を入力してください - 「パターンエラー」を参照してください
参考までに、関連するjsfiddle。
前もって感謝します。