el-cascader 表单校验
时间: 2023-11-21 16:55:08 浏览: 106
el-cascader 表单校验可以使用 async-validator 进行校验。如果在 el-cascader 级联选择器中选择了值,但是校验仍然失败,可以按照以下解决方案进行排查:
1. 检查验证规则对象的 type 属性是否是 'array'(不可大写)。
2. 检查 el-form 标签中的 :model="form" 是否是 el-cascader 组件 v-model 绑定的对象相同。
3. 检查 el-form-item 标签 prop 属性绑定的值是否是 el-cascader 组件 v-model 绑定的 key 相同。
以下是一个 el-cascader 表单校验的示例代码:
```html
<template>
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form-item label="地区" prop="region">
<el-cascader v-model="form.region" :options="options"></el-cascader>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('form')">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
import { mapState } from 'vuex';
import { validateRegion } from '@/utils/validators';
export default {
data() {
return {
form: {
region: [],
},
rules: {
region: [
{ required: true, message: '请选择地区', trigger: 'change' },
{ validator: validateRegion, trigger: 'change' },
],
},
options: [
{
value: 'beijing',
label: '北京',
children: [
{
value: 'dongcheng',
label: '东城区',
},
{
value: 'xicheng',
label: '西城区',
},
],
},
{
value: 'shanghai',
label: '上海', children: [
{
value: 'pudong',
label: '浦东新区',
},
{
value: 'minhang',
label: '闵行区',
},
],
},
],
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$message.success('校验成功');
} else {
this.$message.error('校验失败');
}
});
},
},
};
</script>
```
阅读全文
相关推荐












