当前位置:首页 > 前端教程

elementui rules

2026-03-06 01:33:29前端教程

ElementUI 表单验证规则 (rules)

ElementUI 提供了强大的表单验证功能,通过 rules 属性可以定义各种验证规则。以下是常见用法和示例:

基本规则定义

在表单的 rules 属性中定义验证规则,支持必填、长度、类型等多种验证:

rules: {
  username: [
    { required: true, message: '请输入用户名', trigger: 'blur' },
    { min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
  ],
  password: [
    { required: true, message: '请输入密码', trigger: 'blur' },
    { pattern: /^[a-zA-Z0-9]{6,12}$/, message: '6-12位字母或数字' }
  ]
}

常用验证规则类型

  • required: 必填字段
  • min/max: 最小/最大长度(字符串或数组)
  • pattern: 正则表达式验证
  • validator: 自定义验证函数
  • type: 内置类型验证(email/date等)
email: [
  { type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
],
age: [
  { type: 'number', min: 18, max: 99, message: '年龄需在18-99之间' }
]

自定义验证函数

通过 validator 可以实现复杂验证逻辑:

checkPassword: [
  { validator: (rule, value, callback) => {
    if (value !== this.formData.password) {
      callback(new Error('两次输入密码不一致'))
    } else {
      callback()
    }
  }, trigger: 'blur' }
]

动态验证规则

可以根据条件动态修改验证规则:

watch: {
  'formData.type'(val) {
    this.rules.amount[0].required = val === '2'
    this.$refs.form.clearValidate('amount')
  }
}

表单验证方法

  • validate: 验证整个表单
  • validateField: 验证特定字段
  • clearValidate: 清除验证结果
this.$refs.form.validate(valid => {
  if (valid) {
    // 提交表单
  }
})

异步验证示例

结合Promise实现异步验证:

elementui rules

asyncCheck: [
  { validator: (rule, value, callback) => {
    api.checkValue(value).then(res => {
      res.valid ? callback() : callback(new Error('验证失败'))
    })
  }, trigger: 'blur' }
]

注意事项

  1. 确保表单元素设置了正确的 prop 属性,与 rules 键名一致
  2. 复杂表单建议拆分验证规则到单独文件维护
  3. 动态表单需要手动清除验证状态时使用 clearValidate
  4. 移动端建议将 trigger 设为 'change' 以获得更好体验

标签: elementuirules
分享给朋友:

相关文章

elementui使用

elementui使用

安装 Element UI 通过 npm 或 yarn 安装 Element UI: npm install element-ui --save # 或 yarn add element-ui 在项…

elementui不足

elementui不足

Element UI 的局限性 Element UI 作为一款基于 Vue.js 的组件库,在快速开发中后台系统时广受欢迎,但也存在一些不足之处: 组件功能较为基础 Element UI 提供的组件…

elementui引用

elementui引用

安装 Element UI 在项目中通过 npm 或 yarn 安装 Element UI: npm install element-ui --save # 或 yarn add element…

elementui如何

elementui如何

ElementUI 基本使用 ElementUI 是一套基于 Vue.js 的桌面端组件库,提供丰富的 UI 组件和交互功能。以下是 ElementUI 的基本使用方法。 安装 ElementUI…

组件elementui

组件elementui

ElementUI 简介 ElementUI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的 UI 组件(如按钮、表单、表格等),适合快速构建企业级中后台产品。…

hbuilderX elementui

hbuilderX elementui

安装 HBuilderX 和 Element UI HBuilderX 是 DCloud 推出的一款前端开发工具,支持 Vue.js 开发。Element UI 是一套基于 Vue.js 的桌面端组件…