vue3 validator校验防抖的问题 BlankSpace 491836 发布于 2022-03-08 const rule = { bucketNameRules() { const valid = (rule, value) => { const reg = /^(?![-])[a-z0-9-]{3,63}(?<![-])$/ if (value.length < 3 || value.length > 63) { return Promise.reject('请输入 3~63...
因为要求是输入即校验,需要调用接口,所以需要防抖因为callback已废除,必须以Promise的形式才能触发validator,一般的debounce不能满足返回Promise的需求 **现在的问题是:输入框不停输入时,以下代码防抖效果有了但是因为每次输入都会把之前的那一次Promise取消掉,于是当我快速输入时,最后一次输入停了之后,其实是触发validator提...
2、新开一个文件夹(validate.js)定义验证规则 3、在页面(index.vue)中引入验证规则定义的文件,并在export default中定义rule规则,使用语法:{validator:验证方法,trigger:验证触发} 3、以下是validator.js文件的部分验证方法 /*是否合法IP地址*/ export function validateIP(rule, value,callback) { if(value==''...
groupName: [ { required: true, message: '必填项不能为空', trigger: 'blur' } ], gatewayId: [ { required: true, message: '必填项不能为空', trigger: 'blur' } ], gatewayMac: [ { required: true, message: '必填项不能为空', trigger: 'blur' } ,{validator:validateMacAddr,trigger:...
//调用接口查询是否重复 bucketNameCheck({ bucketName: value }).then((res) => { availableName.value = res.available if (availableName.value) { return Promise.resolve() } else { return Promise.reject('该Bucket已存在,或被其他用户占用') } }) } return { validator: valid, trigger: 'change...
{ validator: validatePass, trigger: "blur" }, ], confirmPwd: [ { required: true, message: "请确认密码", trigger: "blur" }, { validator: validatePass2, trigger: "blur", required: true }, ], }, }; } } 1. 2. 3. 4.
{ validator: isNum, trigger: 'blur' } ], 行内验证 表单内容: <!-- 表单 --> <el-form ref="rulesForm" :rules="formRules" :model="rulesForm" label-width="200px"> <el-form-item label="银行名称:" prop="accountName" :rules="[{required:true,message:'请输入银行名称',trigger:'blur...
("请输入正确的手机号"));}construles=reactive<FormRules<typeofruleForm>>({mobile:[{required:true,message:"请输入手机号",trigger:["blur","change"]},// 正则{pattern:phoneRegular,message:"请输入正确的手机号",trigger:["blur","change"]},// 自定义验证{validator:customMobile,trigger:["blur"...
propB: [String,Number], 多个可能的类型// 必填的字符串propC: {type:String,required:true},// 自定义验证函数propF: {validator:function(value) {// 这个值必须匹配下列字符串中的一个return['success','warning','danger'].indexOf(value) !== -1} ...
trigger: "blur", } ] if (checkNull(min) || checkNull(max)) { list.push({ validator: (rules, value, callback) => { if (checkNull(max) && value > max) { return callback(new Error("超出范围")); } else if (checkNull(min) && value < min) { ...