ng-modelを使用してオブジェクトのjsonプロパティからの値で事前入力された入力フィールドがあり、この入力が空の場合はボタンが最初に、または値が無効です。
これは機能しますが、入力ボックスにデータが既に入力されている状態でページが読み込まれると、有効な値があっても入力は処理されていないため、$ pristineとして扱われます。したがって、有効な値のために有効にする必要があるボタンは、まだ無効です。
私は$手付かずの状態を変更することができます(personalDetailsForm.niNumber。$手付かず& & personalDetailsForm.niNumber。$の無効)、入力中に予め充填された値があるときに正しくロード上のボタンを有効にしますが、もしあらかじめ入力された値は削除され、入力は無効として扱われません。
これを回避する手段はありますか?
HTML:
<div input-field class="input-field col-xs-12 col-sm-6 col-md-2">
<input id="niNumberInput" name="niNumber" type="text" class="validate" pattern=".{9}" placeholder="{{niNumber}}" data-ng-model="niNumber">
<label for="niNumberInput" data-error="National Insurance number must be 9 characters long">National Insurance Number</label>
</div>
<div input-field class="input-field col-xs-12 col-sm-6 col-md-1">
<button data-ng-click="verifyNINumber()" data-ng-disabled="personalDetailsForm.niNumber.$invalid || personalDetailsForm.niNumber.$pristine" class="btn button waves-effect"><span class="fa fa-search"></span>Verify</button>
</div>
私は&&および||とひどいです。評価...しかし、おそらく&&の代わりに&を使用しますか? – theGleep
あなたは '$ pristine'であるかどうかを確認する必要はありません。ちょうどその種のチェックを削除してください。 'フォームが$有効な場合はそれを送信する'です。 – Hitmands
@Nick 'pattern ="なんて説明できますか?{9} "'このパターンは、私は正規表現では良くない! –