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

elementui rules

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

ElementUI 表单验证规则 (rules)

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

基本规则定义

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

elementui 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 可以实现复杂验证逻辑:

elementui rules

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实现异步验证:

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 spring

elementui spring

ElementUI 与 Spring 整合方法 ElementUI 是基于 Vue.js 的前端组件库,Spring 是 Java 后端框架。整合两者需要前后端分离架构,通过 RESTful API…

yarn elementui

yarn elementui

安装 Element UI 与 Yarn Element UI 是一个基于 Vue.js 的组件库,使用 Yarn 作为包管理工具可以快速安装和集成。以下是具体方法: 确保已安装 Yarn 和 V…

elementui不足

elementui不足

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

elementui  文档

elementui 文档

以下是 Element UI 官方文档及相关资源的整理: 官方文档地址 Element UI 的官方文档可通过以下链接访问: 中文文档:https://element.eleme.cn…

elementui require

elementui require

ElementUI 引入方式 ElementUI 可以通过多种方式引入到项目中,具体选择取决于项目需求和开发环境。 npm 安装 适用于 Vue.js 项目,通过 npm 或 yarn 安装 El…

elementui抽屉

elementui抽屉

elementui抽屉的基本用法 Element UI的抽屉组件(Drawer)是一种从页面边缘滑出的面板,常用于显示额外内容或操作。需要在项目中引入Element UI库后使用。 安装Eleme…