Campos de formulario no se agregan ng-touched
clase, en lugar sigue siendo ng-pristine
Este es mi formulario:
<form novalidate class="css-form">
<div class="form-group clearfix">
<label class="col-xs-12 col-sm-6 col-md-4">State Code</label>
<div class="col-xs-12 col-sm-6 col-md-8">
<input type="text" class="form-control" ng-maxlength="2" ng-model="ObjectNew.stateCode" required>
</div>
</div>
<div class="clearfix"></div>
<div class="form-group clearfix">
<label class="col-xs-12 col-sm-6 col-md-4">Zip</label>
<div class="col-xs-12 col-sm-6 col-md-8">
<input type="text" class="form-control" ng-model="ObjectNew.zip" required>
</div>
</div>
<div class="clearfix"></div>
</form>
Cuando veo en inspeccionar elemento, se muestra sólo ng-pristine
clase en cada campo, aunque fui tanto a través de los campos y las hojas null.
Muestra ng-invalid
demasiado, lo cual está bien.
Tiene que añadir los estilos realidad:
.css-form input.ng-invalid.ng-touched {
background-color: #FA787E !important;
}
.css-form input.ng-valid.ng-touched {
background-color: #78FA89 !important;
}
- Asegúrese de usar Angular 1.3.x versión.
- Oops! en la actualidad el uso de 1.2.26 – lo que necesita para asegurarse de que después de actualizar a la 1.3 x ? Quiero decir, ¿voy a perder algo, algún tipo de apoyo?
- También, remmeber de
ng-touched
clase se añaden solamente cuando el elemento pierde el foco, no inmediatamente después de hacer clic en él. - Raro. Pero todo puede ser. Sólo upgrage y ver si algo se rompe.
El término
pristine
ytouched
no son similares. Una entrada permanecerápristine
el tiempo que no ha sido modificado. Esuntouched
, siempre y cuando no pierda el foco – Angular doc de los estados queng-touched
se aplica cuando «el control ha sido borrosa».Por lo que es posible para una entrada de aguas cristalinas y tocado – simplemente haga clic en él y, a continuación, haga clic en algún lugar sin escribir nada en.
También es posible que sea sucio y virgen – haga clic en, escriba algún texto, pero no haga clic en cualquier otra parte.
A ver que, y ver de trabajo
ng-touched
en acción, se refieren a este jsFiddle.Para asegurarse de que funciona, utilice Angular 1.3 como se ha señalado por @dfsq. También, el uso de
angular-touch
que coincida con su Angular de la versión. El JSFiddle anterior funciona correctamente.