详细讲一下element-plus中的表单验证规则,并举例说明
时间: 2023-10-24 18:12:17 浏览: 315
Element-plus 中的表单验证规则通过在表单组件中添加 rules 属性来实现。rules 属性接收一个数组,其中每个元素为一个验证规则对象,对象中包含 validator 和 message 两个属性。
validator 属性为一个验证函数,当表单项的值发生变化时,会调用该函数进行验证。该函数接收一个参数,表示表单项的值,返回一个布尔值,表示验证结果是否通过。
message 属性为验证失败时显示的提示信息。
以下是一个例子:
```vue
<template>
<el-form ref="form" :rules="rules" :model="formData">
<el-form-item label="邮箱" prop="email">
<el-input v-model="formData.email"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
formData: {
email: ''
},
rules: {
email: [
{ required: true, message: '请输入邮箱' },
{ type: 'email', message: '请输入正确的邮箱格式' }
]
}
}
},
methods: {
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// 表单验证通过
// TODO: 提交表单
} else {
// 表单验证失败
}
})
}
}
}
</script>
```
上述代码中,我们定义了一个包含一个表单项的表单组件。该表单项为邮箱输入框,同时我们定义了两个验证规则:required 表示该表单项不能为空,type 表示该表单项必须符合 email 格式。在用户输入邮箱时,每次输入完成后都会触发表单验证。当用户输入的值不符合规则时,会提示对应的错误信息。用户可以点击提交按钮进行提交,提交前会再次执行表单验证。若验证通过,则提交表单,否则提示用户表单验证失败。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)