build validation for single input with given attributes
/**
* build a validator for input
* @param {name} is input name
* @param {required} is determine that input is required or not
* @param {max} check the maximum length for input
* @param {lenmsg}
* @param {min} required the minimum length for input
* @param {group} for custom group selector (default is `.form-group`)
*/
function validatorBuilder(name, required, max, min, group, regex) {
var validators = {};
if (required) {
if (typeof required === 'object' && required.msg) {
validators.notEmpty = {
message: required.msg
};
} else {
validators.notEmpty = {
message: name + " không được để trống"
};
}
}
if (max) {
if (typeof max === 'object' && max.msg) {
validators.stringLength = {
max: Number(max.val),
message: max.msg
};
} else {
validators.stringLength.max = Number(max);
}
if (min) {
validators.stringLength.min = Number(min);
}
}
if (regex) {
validators.regexp = regex;
}
group = group || '.form-group';
return {
group: group,
validators: validators
};
}