<!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" >
       Nombre:<input type="text" ng-model="model.nombre" name="nombre" required >
       <br>
       Correo eletronico:<input type="text" ng-model="model.email" name="email" required>
     </form>

    <h2>Formulario</h2>
    miFormulario.$pristine:  {{miFormulario.$pristine}}
    <br>
    miFormulario.$dirty:  {{miFormulario.$dirty}}
    <br>
    miFormulario.$valid:  {{miFormulario.$valid}}
    <br>
    miFormulario.$invalid:  {{miFormulario.$invalid}}
    
    
    <h2>Campo Nombre</h2>
    miFormulario.nombre.$pristine:  {{miFormulario.nombre.$pristine}}
    <br>
    miFormulario.nombre.$dirty:  {{miFormulario.nombre.$dirty}}
    <br>
    miFormulario.nombre.$valid:  {{miFormulario.nombre.$valid}}
    <br>
    miFormulario.nombre.$invalid:  {{miFormulario.nombre.$invalid}}
    
    
    <h2>Campo email</h2>
    miFormulario.email.$pristine:  {{miFormulario.email.$pristine}}
    <br>
    miFormulario.email.$dirty:  {{miFormulario.email.$dirty}}
    <br>
    miFormulario.email.$valid:  {{miFormulario.email.$valid}}
    <br>
    miFormulario.email.$invalid:  {{miFormulario.email.$invalid}}
  </body>
</html>
var app = angular.module("app", []);

app.controller("PruebaController", ['$scope',function($scope) {


}]);
Estado de un formulario