Initial commit.
This commit is contained in:
commit
0335f5aa93
1168 changed files with 261999 additions and 0 deletions
shared/validation
36
shared/validation/constraints.js
Normal file
36
shared/validation/constraints.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('ffffng').factory('Constraints', function () {
|
||||
return {
|
||||
token:{
|
||||
regex: /^[0-9a-fA-F]{16}$/,
|
||||
optional: false
|
||||
},
|
||||
node: {
|
||||
hostname: {
|
||||
regex: /^[-a-zA-Z0-9_]{1,32}$/,
|
||||
optional: false
|
||||
},
|
||||
key: {
|
||||
regex: /^([a-fA-F0-9]{64})$/,
|
||||
optional: true
|
||||
},
|
||||
email: {
|
||||
regex: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
|
||||
optional: false
|
||||
},
|
||||
nickname: {
|
||||
regex: /^[-a-zA-Z0-9_ äöüÄÖÜß]{1,64}$/,
|
||||
optional: false
|
||||
},
|
||||
mac: {
|
||||
regex: /^([a-fA-F0-9]{12}|([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2})$/,
|
||||
optional: false
|
||||
},
|
||||
coords: {
|
||||
regex: /^(-?[0-9]{1,3}(\.[0-9]{1,15})? -?[0-9]{1,3}(\.[0-9]{1,15})?)$/,
|
||||
optional: true
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
32
shared/validation/validator.js
Normal file
32
shared/validation/validator.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
'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