English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Validación de entrada de AngularJS

AngularJS puede validar los datos de entrada de formularios y controles.

Validación de entrada

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

AngularJS ofrece funciones de validación para formularios y controles, y puede alertar a los datos de entrada ilegales.

La validación del cliente no puede garantizar la seguridad de los datos de entrada del usuario, por lo que también es necesario la validación de datos en el servidor.

Código de aplicación

!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<h2>Ejemplo de validación</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">Dirección de correo electrónico no válida.</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>
Ver la prueba ‹/›

La propiedad HTML del formulario novalidate se utiliza para deshabilitar la validación predeterminada del navegador.

Ejemplo de análisis

AngularJS  ng-model La directiva se utiliza para enlazar elementos de entrada al modelo.

El objeto del modelo tiene dos propiedades: user Y email.

Usamos ng-showDirectiva, color:red en el correo electrónico $dirty O $invalid Se muestra solo cuando todos son true.

AtributoDescripción
$dirtyHay registros de llenado de formulario
$validEl contenido del campo es válido
$invalidEl contenido del campo es ilegal
$pristineNo hay registros de llenado de formulario