UNPKG

zpw-vue-forms

Version:

vue 表单系统

199 lines (198 loc) 5.68 kB
/** * 表单验证 */ let validate = { //不能为空 notNull(rule, value, callback){ if(rule.data.type == "input-address"){ rule.data.validForm().then(res => { if(res){ callback(); } }); }else if (value == undefined||value == "" || (rule.data.type == "input-date"&&value.length < 1) || (rule.data.type == "input-text"&&(value+"").trim().length < 1) || (rule.data.type == "input-checkbox"&&value.length < 1) ) { if(rule.data.type == "input-radio"){ callback(new Error('请选择'+ rule.data.name)) }else{ callback(new Error(rule.data.name + '不能为空')) } } else { callback() } }, phone(rule, value, callback){ if (value&&!/^1[34578]\d{9}$/.test((value+"").trim()*1)) { callback(new Error(rule.data.name + '不正确')) } else { callback() } }, email(rule, value, callback){ if (value&&!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test((value+"").trim())) { callback(new Error(rule.data.name + '不是正确的email格式')) } else { callback() } }, number(rule, value, callback){ if (!/^\d*(.?)(\d)*\d$/gi.test(value)) { callback(new Error(rule.data.name + '的值不是数字')) } else { callback() } }, number4(rule, value, callback){ if (value.length != 4) { callback(new Error(rule.data.name + '的值不是4位')) } else { callback() } }, number11(rule, value, callback){ if (value&&value != 11) { callback(new Error(rule.data.name + '的值不正确')) } else { callback() } }, idCardLastFour(rule, value, callback){ if (value.length != 4) { callback(new Error(rule.data.name + '的值不是4位')) }else if(!/^\d{3}\w/gi.test(value)){ callback(new Error('请输入正确的'+rule.data.name)); } else { callback() } }, float(rule, value, callback){ if (value&&!(/^(-?\d+)?(\.\d+)$/.test(value))) { callback(new Error(rule.data.name + '不是浮点数')) } else { callback() } }, int(rule, value, callback){ if (value&&!/^-?\d+$/.test(value)) { callback(new Error(rule.data.name + '不是整数')) } else { callback() } }, http(rule, value, callback){ if (value&&!/^https+:\/\/./.test(value)) { callback(new Error(rule.data.name + '不是http(s)地址')) } else { callback() } }, "(0-+∞)"(rule, value, callback){ if (value&&!(!isNaN(value) && value > 0)) { callback(new Error(rule.data.name + '不是大于0的数字')) } else { callback() } }, "[1-1e5]"(rule, value, callback){ if (value&&!(1 <= value && value <= 10000)) { callback(new Error(rule.data.name + '不是大于等于1且小于等于10000的数')) } else { callback() } }, "[1-+10]"(rule, value, callback){ if (value&&!(value >= 1 && value <= 10)) { callback(new Error(rule.data.name + '不是大于等于1且小于等于10的数')) } else { callback() } }, "[1-+5]"(rule, value, callback){ if (value&&!(value >= 1 && value <= 5)) { callback(new Error(rule.data.name + '不是大于等于1且小于等于5的数')) } else { callback() } }, "[0-10]"(rule, value, callback){ if (value&&!(value >= 0 && value <= 10)) { callback(new Error(rule.data.name + '不是大于等于0且小于等于10的数')) } else { callback() } }, "[0-1]"(rule, value, callback){ if (value&&!/^[0-1]$|^0?\.[0-9]+$/.test(value)) { callback(new Error(rule.data.name + '不是0到1的数')) } else { callback() } }, "(0-1)"(rule, value, callback){ if (!(0 < value && value < 1)) { callback(new Error(rule.data.name + '不是0到1的数')) } else { callback() } }, "(0-+∞)"(rule, value, callback){ if (value&&value <= 0) { callback(new Error(rule.data.name + '不是大于0的数')) } else { callback() } }, "[1-+∞)"(rule, value, callback){ if (value&&value < 1) { callback(new Error(rule.data.name + '不是大于或等于1的数')) } else { callback() } }, "[0.5-1]"(rule, value, callback){ if (!(0.5 <= value && value <= 1)) { callback(new Error(rule.data.name + '不是大于或等于0.5小于或等于1的数')) } else { callback() } }, "[0-+∞)"(rule, value, callback){ if (value&&value < 0) { callback(new Error(rule.data.name + '不是大于或等于0的数')) } else { callback() } }, "[2-+∞)"(rule, value, callback){ if (value&&value < 2) { callback(new Error(rule.data.name + '不是大于或等于2的数')) } else { callback() } }, "[-1-+∞)"(rule, value, callback){ if (value&&value < -1) { callback(new Error(rule.data.name + '不是大于或等于-1的数')) } else { callback() } }, "(0-0.5)"(rule, value, callback){ if (value&&!(0 < value && value < 0.5)) { callback(new Error(rule.data.name + '不是大于0小于0.5的数')) } else { callback() } }, "[1e-5-1e5]"(rule, value, callback){ if (value&&!(0.00001 <= value && value <= 100000)) { callback(new Error(rule.data.name + '不是大于等于0.00001小于等于100000的数')) } else { callback() } } } export default validate;