我们表单提交时,前端总要做一些验证,防止后端没有做校验;
只能输入数字:
data(){
const isNum = (rule, value, callback) => {
const num= /^[0-9]*$/
if (!num.test(value)) {
callback(new Error('只能输入数字,请检查'))
}else{
callback()
}
}
return {
num:'',
rules: {
num: [
{ required: true, message: '请输入数字', trigger: 'blur' },
{ validator: isNum, trigger: 'blur' }
]
}
}
}
不许输入特殊字符,注意中英文都要限制:
data(){
var validateName = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入名称'));
}
// 思路:将特殊字符都替换成空,然后和原数据对比,如果相同就callback,不同直接报错
let newValue = value.replace(/[`~!@#$%^&*()\-+=<>?:"{}| ,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、_]/g, '');
if(newValue!==value){
callback(new Error('请勿输入特殊字符'));
}else{
callback();
}
}
return {
str:'',
rules: {
str: [
{ required: true, validator: validateName, trigger: 'blur' }
]
}
}
}