4
<label class="item item-input margin5px">
<input type="email" name="email"  class="form-control" placeholder="Email" ng-model="user.email" ng-minlength=5 ng-maxlength=100   required>
</label>

電子メール フィールドに minlength、maxlength、および必要な検証があります。これらの検証のいずれかが失敗した場合、クラス「has-error」を追加するか、特定のスタイルを追加したいと考えています。どんな助けでも大歓迎です。

4

2 に答える 2

3

Angular はすでにそれを行っています。検証が失敗した場合、入力にはng-invalidCSS を介してスタイルを設定できる class が含まれます。

Using CSS classes on AngularJS Formsの例を参照してください:

input.ng-invalid.ng-touched {
    background-color: #FA787E;
}

この CSS は、入力が無効編集されている場合にのみ適用されます。

Angular は正しいクラスを追加します。

于 2015-10-22T20:44:47.313 に答える
0

ブートストラップを使用している場合は、has-error クラスを使用することをお勧めします。

入力はフォームにする必要があり、親 div で ng-class ディレクティブを使用できます。

Angular では、フォーム入力をそのようにチェックできます: myForm.email.$invalid

ユーザーが入力に「触れた」場合にのみスタイルを適用する場合は、 myForm.email.$invalid && myForm.email.$dirty をテストできます

<form name="myForm">
<div class="form-group" ng-class="{'has-error':myForm.email.$invalid && myForm.email.$dirty}">
    <label class="item item-input margin5px"></label>
    <input type="email" name="email"  class="form-control" placeholder="Email" ng-model="user.email" ng-minlength=5 ng-maxlength=100   required>        
</div>
</form>
于 2015-10-22T20:57:37.073 に答える