Validate forms the Angular way. Also: Validate on submit.
This commit is contained in:
parent
caf732a04c
commit
2a0b2add0d
9 changed files with 51 additions and 43 deletions
shared/validation
|
@ -1,32 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('ffffng').factory('Validator', function (_) {
|
||||
var isValid = function (constraint, acceptUndefined, value) {
|
||||
if (value === undefined) {
|
||||
return acceptUndefined || constraint.optional;
|
||||
}
|
||||
|
||||
var trimmed = value.trim();
|
||||
return (trimmed === '' && constraint.optional) || trimmed.match(constraint.regex);
|
||||
};
|
||||
|
||||
var areValid = function (constraints, acceptUndefined, values) {
|
||||
var fields = Object.keys(constraints);
|
||||
for (var i = 0; i < fields.length; i ++) {
|
||||
var field = fields[i];
|
||||
if (!isValid(constraints[field], acceptUndefined, values[field])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
return {
|
||||
forConstraint: function (constraint, acceptUndefined) {
|
||||
return _.partial(isValid, constraint, acceptUndefined);
|
||||
},
|
||||
forConstraints: function (constraints, acceptUndefined) {
|
||||
return _.partial(areValid, constraints, acceptUndefined);
|
||||
}
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue