Ant Design Vue 表单校验两次密码输入一致最简单的方法

Ant Design Vue 3.2.11
<a-form :label-col="{ span: 3 }" :model="formState">
        <a-form-item label="新密码" name="newPwd" :rules="[{ required: true, pattern: new RegExp(/((?=.*\d)(?=.*\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))(?!^.*[\u4E00-\u9FA5].*$)^\S{8,22}$/),
        message: '字母、数字及特殊字符两种以上8-22位' }]">
          <a-input-password style="max-width:400px;min-width:200px;" v-model:value="formState.newPwd"  placeholder="请输入新密码"/>  字母、数字及特殊字符两种以上8-22位
        </a-form-item>
        <a-form-item label="重复一次密码" name="rePwd" :rules="[{ required: true, message: '两次密码不一致', pattern: new RegExp('^'+formState.newPwd + '$') }]">
        <a-input-password style="max-width:400px;min-width:200px;" v-model:value="formState.rePwd"  placeholder="重复一次新密码"/>
        </a-form-item>
</a-form>

找了各种版本的代码试了半天,都不行,后面想想是不是把问题复杂化了...动态构造个新的正则表达式试试,搞定!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Ant Design Vue 组件支持使用 `rules` 属性对表单进行校验校验规则是一个对象数组,每个对象包含一个验证规则,如: ``` rules: [ { required: true, message: '请输入内容', }, { pattern: /^[a-zA-Z0-9]+$/, message: '只能是字母或数字', }, ], ``` 在表单元素上添加 `:rules="rules"` 即可启用校验。 详情请参考 Ant Design Vue 官方文档:https://vue.ant.design/components/form-cn/ ### 回答2: Ant Design Vue是一个基于Vue.js的UI组件库,它提供了许多优秀的表单校验功能,可以方便地用于我们的项目开发中。下面我们来详细介绍一下Ant Design Vue表单校验。 1. 校验规则 首先我们需要在表单项中设置校验规则。Ant Design Vue提供了丰富的校验规则,例如:required、email、url、number等。我们只需要在对应的表单项上添加对应的校验规则即可。 例如,下面是一个包含邮箱校验规则的表单: ```html <a-form-model :model="formData"> <a-form-model-item label="邮箱" prop="email"> <a-input v-model="formData.email" /> </a-form-model-item> <a-form-model-item> <a-button type="primary" @click="handleSubmit">提交</a-button> </a-form-model-item> </a-form-model> ``` ```javascript export default { data() { return { formData: { email: '' }, rules: { email: [{ required: true, message: '邮箱不能为空', trigger: 'blur' }, { type: 'email', message: '请输入正确的邮箱格式', trigger: ['blur', 'change'] }] } } }, methods: { handleSubmit() { this.$refs.form.validate(valid => { if(valid) { //表单校验通过,执行提交操作 } else { //表单校验不通过,提示错误信息 } }) } } } ``` 2. 自定义校验规则 除了Ant Design Vue提供的已有校验规则之外,我们还可以自定义校验规则。例如,下面是一个自定义校验规则的表单: ```html <a-form-model :model="formData" :rules="rules"> <a-form-model-item label="密码" prop="password"> <a-input type="password" v-model="formData.password" /> </a-form-model-item> <a-form-model-item> <a-button type="primary" @click="handleSubmit">提交</a-button> </a-form-model-item> </a-form-model> ``` ```javascript export default { data() { return { formData: { password: '' }, rules: { password: [{ required: true, message: '密码不能为空', trigger: 'blur' }, { pattern: /^[a-zA-Z]\w{5,17}$/, message: '密码必须以字母开头,长度在6~18之间,只能包含字母、数字和下划线', trigger: ['blur', 'change'] }] } } }, methods: { handleSubmit() { this.$refs.form.validate(valid => { if(valid) { //表单校验通过,执行提交操作 } else { //表单校验不通过,提示错误信息 } }) } } } ``` 3. 校验触发方式 在Ant Design Vue中,我们可以设置校验的触发方式,例如:blur、change、submit等。其中,blur表示在表单项失去焦点时触发校验,change表示在表单值变化时触发校验,submit表示在点击提交按钮时触发校验。 例如,下面是一个设置校验触发方式的表单: ```html <a-form-model :model="formData" :rules="rules"> <a-form-model-item label="用户名" prop="username"> <a-input v-model="formData.username" /> </a-form-model-item> <a-form-model-item label="密码" prop="password"> <a-input type="password" v-model="formData.password" /> </a-form-model-item> <a-form-model-item> <a-button type="primary" @click="handleSubmit">提交</a-button> </a-form-model-item> </a-form-model> ``` ```javascript export default { data() { return { formData: { username: '', password: '' }, rules: { username: [{ required: true, message: '用户名不能为空', trigger: 'blur' }], password: [{ required: true, message: '密码不能为空', trigger: 'blur' }] } } }, methods: { handleSubmit() { this.$refs.form.validate(valid => { if(valid) { //表单校验通过,执行提交操作 } else { //表单校验不通过,提示错误信息 } }) } } } ``` 以上就是Ant Design Vue表单校验功能的介绍。在实际的项目开发中,合理利用Ant Design Vue表单校验功能,可以有效地减少前端开发人员的工作量,并且提高项目的代码质量。 ### 回答3: Ant Design Vue是一个非常流行的UI框架,它提供了很多常用组件和布局,其中就包括了表单组件。在实际的开发中,我们需要对表单中用户输入的数据进行校验,以便保证数据的有效性和安全性。Ant Design Vue提供了丰富的表单校验功能,使得开发者可以轻松实现各种校验需求。 Ant Design Vue表单校验的常用方法包括: 1. 表单验证规则 Ant Design Vue提供了validate() API来验证表单控件,我们可以使用表单验证规则来定义每个表单项的校验规则。例如,我们可以使用required、min、max、pattern等属性来定义必填、最小值、最大值、以及正则表达式校验规则,对于一些比较复杂的校验规则,我们也可以使用validator来自定义校验函数。 2. 表单项反馈信息 在表单校验失败时,我们需要向用户提供反馈信息,让用户更好地理解错误原因。Ant Design Vue提供了多种反馈方式,包括Tooltip、Message等组件。我们可以通过设置validateTrigger、help、rules等属性来实现这些反馈方式。 3. 表单校验状态管理 表单校验状态管理是Ant Design Vue表单校验的重要组成部分。我们可以通过设置validateStatus、hasFeedback等属性来管理表单项的校验状态。同时,Ant Design Vue还提供了getFieldsError、getFieldValue、resetFields等API,方便我们进行表单校验状态的查询、更新和重置。 总的来说,Ant Design Vue表单校验功能非常强大,它使得表单校验变得简单、高效和灵活。开发者可以根据自己的需求灵活地配置和使用这些校验功能,从而达到更好的用户体验和数据安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值