角度材料输入验证失败

时间:2016-06-16 08:14:47

标签: javascript angularjs html5 css3 angular-material

大家好我正在将我的表格更新为棱角分明的材质,我会发现一些奇怪的东西。

此表单更新用户数据。所以我将数据加载到ng-model中并将其放在表单中,这样用户就可以更新其数据。

问题是验证一个以奇怪方式工作的输入。首先加载错误的验证。所有数据都很好,但输入没有验证。

<md-input-container class="md-block">
    <!-- LABEL DNI-->
    <label>D.N.I.</label>
    <!-- INPUT DNI-->
    <input type="text" 
           minlength="4" 
           md-maxlength="8"
           maxlength="8"
           placeholder="D.N.I."
           ng-model="user.dni" name="dni" required/>
     <!-- MENSAJES -->
      <div ng-messages="changePerfil.dni.$error"
           ng-if='changePerfil.dni.$dirty || changePerfil.dni.$touched'>
        <div ng-message="required">Este campo no puede estar vacio.</div>                            
      </div>
      <!--ICONOS DE MENSAJE -->
      <span ng-show="changePerfil.dni.$valid" class="glyphicon glyphicon-ok form-control-feedback"></span>
      <span ng-show="changePerfil.dni.$dirty && changePerfil.dni.$invalid" class="glyphicon glyphicon-remove  form-control-feedback"></span>
</md-input-container>

但如果这不奇怪。如果我删除一个字符并再次输入,则确实如此,验证完成。

有人知道发生了什么事吗?

修改

我发现了这个问题,但很少见......似乎无法识别我JSON上的属性字符串

var user = {
      nombre: "Paulo",
      apellido: "Galdo Sandoval",
      dni: "12345678",
      domicilio: "Street 972",
      email: "mail@hotmail.com",
      estado: "Activo",
      fechaCreacion: "2016-01-06",
      fechaModificacion: "2016-06-16"
   };

要使它工作,我必须在我的功能上执行此操作:

$scope.user = datos.data;
var stringDni = datos.data.dni;
$scope.user.dni = stringDni.toString();

0 个答案:

没有答案