<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
<link rel="stylesheet" href="https://material.angularjs.org/latest/angular-material.min.css" type="text/css">
</head>
<body>
<h1>Password and confirm password validate</h1>
<div data-ng-controller="PasswordController as vmPassword">
<form name="passwordForm">
<md-input-container class="md-block" flex-gt-sm>
<label>Password</label>
<input type="password" name="password" ng-model="vmPassword.password" required />
<div ng-messages="passwordForm.password.$error" role="alert" class="form-errors first-name-error">
<div ng-message="required">Password is required.</div>
</div>
</md-input-container>
<md-input-container class="md-block" flex-gt-sm>
<label>Confirm Password</label>
<input type="password" name="confirm_password" ng-model="vmPassword.confirm_password" required compare-to="vmPassword.password" />
<div ng-messages="passwordForm.confirm_password.$error" role="alert" class="form-errors first-name-error">
<div ng-message="required">Password is required.</div>
<div ng-message="compareTo">Must not match</div>
</div>
</md-input-container>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="https://material.angularjs.org/latest/angular-material.min.js"></script>
<script src="script.js"></script>
</body>
</html>
/**
* Developer Umanda Jayobandara (umanda.uj@gmail.com)
*/
// App
var parastatsApp =
angular
.module("app", [
"ngAnimate",
'ngMaterial',
'ngMessages',
]);
// Controller
(function() {
"use strict"
// Define nameOfController
angular.module('app').controller('PasswordController', PasswordController);
// Dependency Injection'$rootScope'];
function PasswordController() {
var vmPassword = this;
}
})();
// Directiver
(function() {
"use strict";
angular.module('app').directive('compareTo', compareTo);
compareTo.$inject = [];
function compareTo() {
return {
require: "ngModel",
scope: {
compareTolValue: "=compareTo"
},
link: function(scope, element, attributes, ngModel) {
ngModel.$validators.compareTo = function(modelValue) {
return modelValue == scope.compareTolValue;
};
scope.$watch("compareTolValue", function() {
ngModel.$validate();
});
}
};
}
})();
/* Styles go here */
Password and confirm password validate