MCPcopy Index your code
hub / github.com/bitnbytesio/node-input-validator / makeValidationsFromArray

Method makeValidationsFromArray

lib/validator.js:310–363  ·  view source on GitHub ↗
(rules)

Source from the content-addressed store, hash-verified

308 }
309
310 makeValidationsFromArray(rules) {
311
312
313 if (!rules || !Object.keys(rules).length) {
314 return;
315 }
316
317 let field, fieldRule;
318
319 // here r is field name
320 for (field in rules) {
321
322
323 let fieldWithIndex = [], multipleFields = 0;
324
325 if (field === '*') {
326 return this.addPostRules(rules[field]);
327 }
328
329 //console.log('in loop', field);
330
331 if (!this.validations[field]) {
332
333 multipleFields = field.indexOf('*');
334
335 this.validations[field] = {
336 field: field,
337 multiple: (multipleFields > 0),
338 path: field.split('.'),
339 required: false,
340 rules: []
341 };
342 }
343
344
345 for (fieldRule of rules[field]) {
346
347 let args = [];
348
349 if (fieldRule instanceof Array) {
350 args = fieldRule;
351 fieldRule = fieldRule.splice(0, 1).toString();
352 }
353
354 this.rule = { rule: fieldRule, args: (args.length == 1) ? args[0] : args };
355
356 this.populateRule(field);
357
358 }
359
360 }
361
362
363 }
364
365 /**
366 * re-arrange rules

Callers 1

makeMethod · 0.95

Calls 2

addPostRulesMethod · 0.95
populateRuleMethod · 0.95

Tested by

no test coverage detected