vue3 antdvue 表单验证
时间: 2024-01-30 20:12:13 浏览: 166
以下是使用Vue3和Ant Design Vue进行表单验证的示例:
```vue
<template>
<a-form :form="form" @finish="handleSubmit">
<a-form-item label="名称" name="name" :rules="nameRules">
<a-input v-model="form.name" />
</a-form-item>
<a-form-item label="对比项" name="compare" :rules="compareRules">
<a-input v-model="form.compare" />
</a-form-item>
<a-form-item label="备注" name="remark" :rules="remarkRules">
<a-input v-model="form.remark" />
</a-form-item>
<a-button type="primary" html-type="submit">提交</a-button>
</a-form>
</template>
<script>
import { defineComponent, ref } from 'vue';
import { Form, Input, Button } from 'ant-design-vue';
export default defineComponent({
components: {
'a-form': Form,
'a-form-item': Form.Item,
'a-input': Input,
'a-button': Button,
},
setup() {
const form = ref(null);
const nameRules = [
{ required: true, message: '名称不能为空' },
];
const compareRules = [
{ required: true, message: '对比项不能为空' },
];
const remarkRules = [
{ required: true, message: '备注不能为空' },
];
const handleSubmit = () => {
form.value.validate((valid) => {
if (valid) {
// 表单验证通过,执行提交操作
console.log('表单验证通过');
} else {
console.log('表单验证失败');
}
});
};
return {
form,
nameRules,
compareRules,
remarkRules,
handleSubmit, };
},
});
</script>
```
这个示例中,我们使用了Vue3的`defineComponent`和`ref`函数来定义组件和创建响应式数据。我们还引入了Ant Design Vue的表单组件,包括`Form`、`FormItem`、`Input`和`Button`。
在模板中,我们使用`a-form`组件来创建表单,并将表单对象绑定到`form`变量上。每个表单项都使用`a-form-item`组件包裹,并设置相应的`name`和`rules`属性来进行验证。当点击提交按钮时,我们调用`handleSubmit`方法来进行表单验证,如果验证通过,则执行提交操作。
阅读全文