AngularJS Validación de entrada


Los formularios y controles de AngularJS pueden validar los datos de entrada.


Validación de entrada

En los capítulos anteriores, ya has aprendido sobre los formularios y controles de AngularJS.

Los formularios y controles de AngularJS pueden proporcionar funciones de validación y advertir sobre datos ilegales ingresados por el usuario.

Note La validación del lado del cliente no puede garantizar la seguridad de los datos ingresados por el usuario, por lo que la validación de datos del lado del servidor también es necesaria.

Código de la aplicación

<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body>

<h2>Validation Example</h2>

<form  ng-app="myApp"  ng-controller="validateCtrl"
name=
"myForm" novalidate>

<p>Nombre de usuario:<br>
  <input type="text" name="user" ng-model="user" required>
  <span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
  <span ng-show="myForm.user.$error.required">El nombre de usuario es obligatorio.</span>
  </span>
</p>

<p>Correo electrónico:<br>
  <input type="email" name="email" ng-model="email" required>
  <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
  <span ng-show="myForm.email.$error.required">El correo electrónico es obligatorio.</span>
  <span ng-show="myForm.email.$error.email">Correo electrónico no válido.</span>
  </span>
</p>

<p>
  <input type="submit"
  ng-disabled=
"myForm.user.$dirty && myForm.user.$invalid ||
  myForm.email.$dirty && myForm.email.$invalid"
>
</p>

</form>

<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function($scope) {
    $scope.user = 'John Doe';
    $scope.email = '[email protected]';
});
</script>

</body>
</html>

Pruébalo »

Note Atributos de formulario HTMLnovalidateSe utiliza para deshabilitar la validación predeterminada del navegador.

Análisis del ejemplo

AngularJS ng-modelLa directiva se utiliza para vincular elementos de entrada al modelo.

El objeto del modelo tiene dos atributos:useryemail。

Hemos utilizado lang-showdirectiva,color:reden el correo electrónico,$dirtyo$invalidsolo se muestra cuando ambos son true.

Atributo Descripción
$dirty El formulario ha sido modificado
$valid El contenido del campo es válido
$invalid El contenido del campo no es válido
$pristine El formulario no ha sido modificado
Otras extensiones