对表单里面的el-input-number 添加校验
时间: 2023-11-07 08:59:22 浏览: 209
表单校验插件
要对表单里的 `el-input-number` 添加校验,可以使用 `rules` 属性来实现。
例如,我们要对一个 `el-input-number` 组件进行校验,要求输入的值必须大于等于10,可以这样写:
```html
<el-form-item label="数量" prop="num">
<el-input-number v-model="form.num" :min="10"></el-input-number>
</el-form-item>
```
其中,`prop` 属性用于指定校验的属性名,`min` 属性用于指定最小值。
同时,还需要在 `el-form` 组件上设置 `rules` 属性,来进行校验规则的配置。例如:
```html
<el-form :model="form" :rules="rules">
<!-- 表单项省略 -->
</el-form>
```
其中,`rules` 数组中每个元素表示一个校验规则,可以使用 `validator` 属性指定一个校验函数,例如:
```js
export default {
data() {
return {
form: {
num: null
},
rules: [
{
prop: 'num',
validator: this.validateNum,
trigger: 'change'
}
]
}
},
methods: {
validateNum(rule, value, callback) {
if (value < 10) {
callback(new Error('数量不能小于10'))
} else {
callback()
}
}
}
}
```
上述代码中,`rules` 数组中只包含一个元素,表示对 `num` 属性进行校验。`validator` 属性指定了一个校验函数 `validateNum`,该函数接收三个参数:
- `rule`:校验规则对象,包含 `prop` 属性等信息
- `value`:当前表单项的值
- `callback`:校验结果的回调函数,接收一个 `Error` 对象或者 `undefined`
在校验函数中,需要根据实际需求完成校验逻辑。如果校验通过,需要调用 `callback()` 来通知校验成功,如果校验不通过,需要调用 `callback(new Error('错误提示'))` 来通知校验失败并提示错误信息。此外,`trigger` 属性可以用来指定触发校验的事件,默认为 `change`。
阅读全文