效果展示
基本实现
定义约束条件
1 2 3 4 5 6 7 8
| return { rules: { contractNum: [ {required: true, message: "合同号不能为空", trigger: "blur"} ], } }
|
注意,这里的规则名contractNum
对应了合同号字段
添加规则
1
| <el-form ref="contractNumForm" :model="formData" :rules="rules">
|
函数中添加判断语句
1 2 3 4 5 6 7 8 9
| submitForm() { this.$refs["contractNumForm"].validate(valid => { if (valid) { ... ... } }) },
|
注意,这里的contractNumForm
对应了表单ref
参数的值
验证是否为数字
要验证是否为数字,我们的验证语句需要这么写:
1
| {type: 'number', message: "数量必须为数字", trigger: ["blur", "change"]}
|
同时,在表单中需要给v-model
字段参数加上.number
,即
1
| <el-input v-model.number="formData.amount" placeholder="数量" clearable>
|
验证是否为纯数字(整数、小数)
效果
如何实现
自定义验证方法
在ruoyi-ui/src/utils/validate.js
中,自定义判定纯数字的接口方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
export function validateNumber(rule, value, callback) { let numberReg = /^\d+$|^\d+[.]?\d+$/ if (value !== '') { if (!numberReg.test(value)) { callback(new Error('请输入数字')) } else { callback() } } else { callback(new Error('请输入值')) } }
|
导入
1
| import {validateNumber} from "@/utils/validate";
|
参数验证
1 2 3 4
| totalPrice: [ {required: true, message: '总价不能为空', trigger: ["blur", "change"]}, {validator: validateNumber, trigger: ["blur", "change"]} ]
|