<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script src="//code.angularjs.org/1.2.19/i18n/angular-locale_es-es.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller="PruebaController">
<form name="miFormulario" novalidate >
Nombre:<input type="text" ng-model="model.nombre" name="nombre" ng-maxlength="50" ng-minlength="3" ng-required="requeridoNombre" ng-pattern="patternNombre" >
<br>
Correo eletronico:<input type="email" ng-model="model.correo" name="correo" >
<br>
Edad:<input type="number" ng-model="model.edad" name="edad" min="18" max="99" >
<br>
Sitio web:<input type="url" ng-model="model.sitioweb" name="sitioweb" >
</form>
<br>
miFormulario.nombre.$error.pattern: {{miFormulario.nombre.$error.pattern}}
<br>
miFormulario.nombre.$error.required: {{miFormulario.nombre.$error.required}}
<br>
miFormulario.nombre.$error.minlength: {{miFormulario.nombre.$error.minlength}}
<br>
miFormulario.nombre.$error.maxlength: {{miFormulario.nombre.$error.maxlength}}
<br>
miFormulario.correo.$error.email: {{miFormulario.correo.$error.email}}
<br>
miFormulario.edad.$error.number: {{miFormulario.edad.$error.number}}
<br>
miFormulario.edad.$error.min: {{miFormulario.edad.$error.min}}
<br>
miFormulario.edad.$error.max: {{miFormulario.edad.$error.max}}
<br>
miFormulario.sitioweb.$error.url: {{miFormulario.sitioweb.$error.url}}
</body>
</html>
var app = angular.module("app", []);
app.controller("PruebaController", ['$scope',function($scope) {
$scope.requeridoNombre=true;
$scope.patternNombre=/^[a-zA-Z]*$/;
}]);
Validaciones en un formulario