一般经常会遇到输入框需要输入数字,并且数值大小在什么范围
<el-form-item label="首页排序:" prop="sortNo">
<el-col :span="5">
<el-input v-model.number="formObj.sortNo" onblur="this.value=this.value.replace(/\D/g,'')" type="Number" placeholder="排序" />
</el-col>
</el-form-item>
可以使用方法 onblur(),然后用正则处理小数点
或者用rules检验
sortNo: [{ required: true, message: '请输入排序', trigger: 'blur' }, { type: 'number', message: '必须为整数' }, { pattern: /^([0-9]|[1-9]\d)$/, message: '范围在0-99', trigger: 'blur' }]
范围0-255分析:
0-9: [0-9]
10-99: [1-9]\d
100-199: 1\d\d
200-249: 2[0-4]\d
250-255: 25[0-5]
或者
data() {
var sortNo= (rule, value, callback) => {
if (!value) {
return callback(new Error('不能为空'));
}
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
if (value < 0) {
callback(new Error('范围在0-255'));
} else if(value > 255){
callback(new Error('范围在0-255'));
}else {
callback();
}
}
}, 100);
};
return {
ruleForm: {
sortNo:'',
},
rules: {
sortNo:[
{ validator: checkMoney, trigger: 'blur' }
],
}`