vue表单验证,不能通过验证

 vue表单验证一直不能通过

1.model里的值一定要和 js里面data的名称(formValidate)对应

2.rules里面的值要和js里面设定的表单规则(ruleValidate)对应

3.prop里面的值要和规则(name)里面的对应

4.自定义的规则(ruleValidate)里面的属性名(name)也要和(formValidate)里面的属性名一致(name)

整体代码

<template>
    <Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80">
        <FormItem label="Name" prop="name">
            <Input v-model="formValidate.name" placeholder="Enter your name"></Input>
        </FormItem>
 
        <FormItem>
            <Button type="primary" @click="handleSubmit('formValidate')">Submit</Button>
            <Button @click="handleReset('formValidate')" style="margin-left: 8px">Reset</Button>
        </FormItem>
    </Form>
</template>
<script>
    export default {
        data () {
            return {
                formValidate: {
                    name: '',
                },
                ruleValidate: {
                    name: [
                        { required: true, message: 'The name cannot be empty', trigger: 'blur' }
                    ],
                   
                }
            }
        },
        methods: {
            handleSubmit (name) {
                this.$refs[name].validate((valid) => {
                    if (valid) {
                        this.$Message.success('Success!');
                    } else {
                        this.$Message.error('Fail!');
                    }
                })
            },
            handleReset (name) {
                this.$refs[name].resetFields();
            }
        }
    }
</script>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用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`方法来进行表单验证,如果验证通过,则执行提交操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值