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.
InformationsquelleAutor Fahad Khan | 2015-02-24

1 Comentario

  1. 11

    El término pristine y touched no son similares. Una entrada permanecerá pristine el tiempo que no ha sido modificado. Es untouched, siempre y cuando no pierda el foco – Angular doc de los estados que ng-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.

Dejar respuesta

Please enter your comment!
Please enter your name here