¿Cómo puedo exigir condicionalmente entradas de formulario con AngularJS?

Supongamos que estamos construyendo una aplicación de libreta de direcciones (ejemplo artificial) con AngularJS.

Tenemos un formulario para contactos que tiene entradas para el correo electrónico y el número de teléfono, y queremos solicitar uno o el otro , pero no ambos : solo queremos que se requiera la entrada de email si la entrada del phone está vacía o no es válida, y viceversa .

Angular tiene una directiva required , pero no está claro en la documentación cómo usarla en este caso. Entonces, ¿cómo podemos exigir condicionalmente un campo de formulario? Escribir una directiva personalizada?

No es necesario escribir una directiva personalizada. La documentación de Angular es buena pero no completa. De hecho , hay una directiva llamada ngRequired , que toma una expresión angular.

   

Aquí hay un ejemplo más completo: http://jsfiddle.net/uptnx/1/

si desea poner una entrada requerida si se escribe otra:

    

Saludos.

Simple, puede usar la validación angular como:

    

Ahora puede completar el valor en un solo campo de texto. O puede completar el nombre o el apellido. De esta forma, puede usar el relleno condicional requerido en AngularJs.

Para Angular2