AngularJS Form Validation (original) (raw)

Last Updated : 26 Aug, 2022

AngularJS performs form validation on the client side. AngularJS monitors the state of the form and input fields (input, text-area, select), and notify the user about the current state. AngularJS also holds information about whether the input fields have been touched, modified, or not. Form input fields have the following states:

These all are the properties of the input field which can be either true or false. Forms have the following states:

These all are the properties of the form which can be either true or false. These states can be used to show meaningful messages to the user.

Example 1: This example describes the AngularJS Form Validation, where the ng-show directive is utilized to display the required warning message for the inappropriate or incorrect input.

HTML

<!DOCTYPE html>

< html >

< head >

`` < title >AngularJS Form Validation</ title >

`` < script src =

`` </ script >

`` < style >

`` body {

`` font-family: Arial, Helvetica, sans-serif;

`` }

`` h1 {

`` color: green;

`` }

`` </ style >

</ head >

< body ng-app = "" >

`` < h1 >GeeksforGeeks</ h1 >

`` < h3 >AngularJS Form Validation</ h3 >

`` < form name = "form1" >

`` < p >Name:

`` < input name = "username"

`` ng-model = "username" required>

`` < span ng-show =

"form1.username.$pristine && form1.username.$invalid" >

`` The name is required.</ span >

`` </ p >

`` < p >Address:

`` < input name = "useraddress"

`` ng-model = "useraddress" required>

`` </ p >

`` </ form >

`` < p >

`` We use the ng-show directive to only

`` show the error message < br >if the field

`` has not modified yet AND content present

`` in the field is invalid.

`` </ p >

</ body >

</ html >

Output:

Custom validation: To create your own validation function add a new directive to your application, and deal with the validation inside a function with certain specified arguments.

Example 2: This example describes the AngularJS Custom Form Validation by creating our own directive, containing a custom validation function, and refer to it by using app-directive. The field will only be valid if the value is greater than or equal to 18.

HTML

<!DOCTYPE html>

< html >

< head >

`` < title >AngularJS Form Validation</ title >

`` < script src =

`` </ script >

`` < style >

`` body {

`` text-align: center;

`` font-family: Arial, Helvetica, sans-serif;

`` }

`` h1 {

`` color: green;

`` }

`` </ style >

</ head >

< body ng-app = "developapp" >

`` < h1 >GeeksforGeeks</ h1 >

`` < h3 >AngularJS Custom Form Validation</ h3 >

`` < form name = "form1" >

`` Username:

`` < input name = "username" required>< br >< br >

`` Age:

`` < input name = "userage"

`` ng-model = "userage" required app-directive>

`` </ form >

`` < p >The input's valid state is:</ p >

`` < h3 >{{form1.userage.$valid}}</ h3 >

`` < script >

`` var app = angular.module('developapp', []);

`` app.directive('appDirective', function () {

`` return {

`` require: 'ngModel',

`` link: function (scope, element, attr, mCtrl) {

`` function myValidation(value) {

`` if (value >= 18) {

`` mCtrl.$setValidity('charE', true);

`` } else {

`` mCtrl.$setValidity('charE', false);

`` }

`` return value;

`` }

`` mCtrl.$parsers.push(myValidation);

`` }

`` };

`` });

`` </ script >

`` < p >

`` < b >Note:</ b >

`` The input field must have

`` user age greater than 18 to be

`` considered valid for voting.

`` </ p >

</ body >

</ html >

Output: