element-plus表单校验成功时不走validate函数的回调踩坑记录

原因:校验规则格式不对,错误的校验规则:

const validatName = (rule: any, value: any, callback: any) => {
  if (!value.trim()) {
    callback(new Error('用户名是必填项~'))
  } else if (value) {  
    const pattern = /^[0-9a-z]{5-10}$/
    if (!pattern.test(value)) {
      callback(new Error('用户名必须是5-10位的字母或者数字~'))
    }
  } else {  这里写错,校验成功时根本不会执行else语句里的代码
    callback()
  }
}

看了官网之后调整如下:

const validatName = (rule: any, value: any, callback: any) => {
  if (!value.trim()) {
    callback(new Error('用户名是必填项~'))
  } else {
    const pattern = /^[0-9a-z]{5-10}$/
    if (!pattern.test(value)) {
      callback(new Error('用户名必须是5-10位的字母或者数字~'))
    } else {
      callback()
    }
  }
}

成功

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue Element Plus 提供了丰富的表单校验功能,可以轻松地对表单进行验证。以下是一个简单的示例,演示如何使用 Vue Element Plus 进行表单校验: 首先,确保你已经安装了 Vue 和 Element Plus,并正确引入它们: ```bash npm install vue npm install element-plus ``` 在 Vue 组件中,使用 `el-form` 组件包裹你的表单,并添加 `ref` 属性用于在代码中引用表单实例: ```html <template> <el-form :model="form" :rules="rules" ref="myForm"> <!-- 表单项 --> </el-form> </template> ``` 在 `data` 中定义表单数据和验证规则: ```javascript data() { return { form: { // 表单数据 }, rules: { // 验证规则 } }; }, ``` 在 `methods` 中定义一个提交表单的方法,并在方法中调用表单的 `validate()` 方法进行校验: ```javascript methods: { submitForm() { this.$refs.myForm.validate((valid) => { if (valid) { // 校验通过,处理提交逻辑 } else { // 校验不通过,显示错误信息 } }); } } ``` 在模板中,为每个表单项添加验证规则: ```html <el-form-item prop="fieldName" label="Field Label"> <el-input v-model="form.fieldName"></el-input> </el-form-item> ``` 其中,`prop` 属性指定了表单项对应的字段名,`label` 属性指定了表单项的标签。 以上就是使用 Vue Element Plus 进行表单校验的基本步骤。你可以根据具体需求,添加更多的表单项和验证规则。详细的 API 文档可以参考 Vue Element Plus 的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值