1 define([], function () {
4 function RestrictionsService(){
5 var RestrictionObject = function(fnc, info) {
10 var convertToInteger = function(value) {
11 var strVal = typeof value === 'string' ? value : value.toString(),
12 radix = strVal.indexOf('0x') === 0 ? 16 : strVal.indexOf('0') === 0 ? 8 : 10;
14 return parseInt(strVal, radix);
17 var restrictions = {};
19 restrictions.getEqualsFnc = function (target) {
20 var intTarget = parseInt(target);
22 return new RestrictionObject(
24 var intVal = convertToInteger(value);
25 return intVal === intTarget;
27 'Value must be equal to '+target
31 restrictions.getMinMaxFnc = function (min, max) {
32 var intMin = parseInt(min),
33 intMax = parseInt(max);
35 return new RestrictionObject(
37 var intVal = convertToInteger(value);
38 return (intMin <= intVal) && (intVal <= intMax);
40 'Value must be in between '+min+' and '+max
44 restrictions.getReqexpValidationFnc = function (patternString) {
45 return new RestrictionObject(
47 var pattern = new RegExp(patternString);
48 return pattern.test(value.toString());
50 'Value must match '+patternString
54 restrictions.getIsNumberFnc = function () {
55 return new RestrictionObject(
57 var pattern = new RegExp('^[+-]?((0x[0-9A-Fa-f]+)|(0[0-9]+)|([0-9]+))$');
58 return pattern.test(value.toString());
60 'Value must be number (+/-, 0x and 0) prefixed are permitted'
64 restrictions.getIsUNumberFnc = function () {
65 return new RestrictionObject(
67 var pattern = new RegExp('^[+]?((0x[0-9A-Fa-f]+)|(0[0-9]+)|([0-9]+))$');
68 return pattern.test(value.toString());
70 'Value must be positive number (+, 0x and 0) prefixed are permitted'
74 restrictions.getIsDecimalFnc = function () {
75 return new RestrictionObject(
77 var pattern = new RegExp("^[-]?[1-9]?[0-9]+[.|,]?[0-9]*$");
78 return pattern.test(value.toString());
80 'Value must be decimal number - prefix is permitted'
84 restrictions.isInArray = function (array) {
85 return new RestrictionObject(
87 return array.some(function(arrVal) {
88 return arrVal === value;
91 'Value must be in ' + array.toString()
99 RestrictionsService.$inject=[];
101 return RestrictionsService;