【ant-design】表单validate验证名称重复

 <a-form-item>
                <a-input
                    size="large"
                    type="text"
                    :placeholder="$t('user.register.name.placeholder')"
                    v-decorator="[
                        'name',
                        {
                            validateTrigger: ['change', 'blur'],
                            rules: [
                                { required: true, message: $t('user.email.required') },
                                {
                                    validator: validateToName,
                                    message: '用户名已存在',
                                },
                            ],
                        },
                    ]"
                ></a-input>
            </a-form-item>
 methods: {
        validateToName(rule, value, callback) {
            check({ userName: value }).then((res) => {
                var exist = res.data.exist
                // console.log('ex', exist)
                if (exist) {
                    callback(new Error('名称已存在'))
                } else {
                    callback()
                }
            })
        },
        }
Ant Design Vue 是一个基于 Ant Design 和 Vue 的组件库,它提供了一套高质量的 Vue 组件实现,帮助开发者快速构建具有统一设计风格的用户界面。在使用 Ant Design Vue 进行表单处理时,如果你想要在保存时提取表单数据,通常需要进行以下几个步骤: 1. 使用 `a-form` 组件创建表单,并为其添加 `model` 属性以绑定表单数据。 2. 为每个需要获取数据的表单字段添加相应的 `a-form-item` 容器,并在内部放置相应的输入组件,如 `a-input`、`a-select` 等。 3. 通过 `rules` 属性为表单字段设置验证规则,确保在提交之前表单数据的有效性。 4. 在提交按钮的点击事件中,使用 `this.$refs.form.validate()` 方法验证表单字段是否符合规则。 5. 如果验证通过,可以使用 `this.$refs.form.getFieldsValue()` 或 `this.$refs.form.getFields()` 方法提取表单的数据。 以下是一个简单的示例代码: ```html <template> <a-form ref="form" :model="form" :rules="rules"> <a-form-item label="用户名" name="username" rules={[{ required: true, message: '请输入用户名!' }]}> <a-input v-model:value="form.username"></a-input> </a-form-item> <!-- 其他表单项... --> <a-form-item> <a-button type="primary" @click="submitForm">提交</a-button> </a-form-item> </a-form> </template> <script> export default { data() { return { form: { username: '', // 其他字段... }, rules: { username: [ { required: true, message: '用户名必填', trigger: 'blur' }, // 其他规则... ], // 其他字段规则... } }; }, methods: { submitForm() { this.$refs.form.validate((valid) => { if (valid) { const formData = this.$refs.form.getFieldsValue(); // 或者使用 this.$refs.form.getFields() 获取更详细的信息 console.log('表单数据:', formData); // 这里可以进行保存操作,比如发送到后端服务器 } else { console.error('表单验证失败'); return false; } }); } } }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值