MCPcopy Create free account
hub / github.com/Lobos/react-ui / validate

Function validate

src/utils/validation.js:20–92  ·  view source on GitHub ↗
(value, valueType, {
  label,
  required,
  min,
  max,
  readOnly,
  sep,
  tip,
  type,
  validator,
  formData
})

Source from the content-addressed store, hash-verified

18}
19
20export function validate(value, valueType, {
21 label,
22 required,
23 min,
24 max,
25 readOnly,
26 sep,
27 tip,
28 type,
29 validator,
30 formData
31}) {
32 let len = 0;
33
34 if (readOnly) {
35 return true;
36 }
37
38 // validate required
39 if (required && (value === undefined || value === null || value.length === 0)) {
40 return handleError(label, value, 'required', tip);
41 }
42
43 let reg = Regs[type];
44
45 // custom validator
46 if (validator) {
47 if (typeof validator === 'function') {
48 validator = { func: validator };
49 }
50 if (validator.func) {
51 return validator.func(value, formData);
52 }
53 if (validator.reg) {
54 reg = validator.reg;
55 if (typeof reg === 'string') {
56 reg = new RegExp(reg);
57 }
58 }
59 }
60
61 // skip empty value
62 if (value === undefined || value === null || value === '') {
63 return true;
64 }
65
66 // validate type
67 if (reg && !reg.test(value)) {
68 return handleError(label, value, type, tip);
69 }
70
71 switch(valueType) {
72 case 'array':
73 len = toArray(value, sep).length;
74 break;
75 case 'number':
76 len = parseFloat(value);
77 break;

Callers 1

constructorMethod · 0.50

Calls 3

toArrayFunction · 0.90
handleErrorFunction · 0.85
funcMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…