Angular: Issue with form-level validators
http://angularjs.org/
HTML
<script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.10.4/angular-0.10.4.js"></script>
<form name="user" ng:controller="Ctrl">
<input type="password" ng:model="pwd1" required />
<input type="password" ng:model="pwd2" />
{{user.$valid}}
</form>
JavaScript
var PWD_MATCH = 'password-match';
function Ctrl($formFactory) {
var self = this;
// listening on root form is wrong as well
$formFactory.rootForm.$on('$validate', function() {
// this is super mega ugly :-D
// no way to find widget...
var widget = self.user.$$childTail;
// validate
if (self.pwd1 === self.pwd2) widget.$emit('$valid', PWD_MATCH);
else widget.$emit('$invalid', PWD_MATCH);
});
}