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

elementui检验

2026-03-05 20:26:34前端教程

ElementUI 表单验证方法

ElementUI 提供了强大的表单验证功能,基于 async-validator 实现。以下为常用验证方式:

基础表单验证 在 el-form 上绑定 :rules 属性,并在 el-form-item 上设置 prop 属性匹配规则:

<el-form :model="form" :rules="rules" ref="formRef">
  <el-form-item label="用户名" prop="username">
    <el-input v-model="form.username"></el-input>
  </el-form-item>
</el-form>
rules: {
  username: [
    { required: true, message: '请输入用户名', trigger: 'blur' },
    { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
  ]
}

自定义验证规则 通过 validator 函数实现复杂验证逻辑:

const validatePassword = (rule, value, callback) => {
  if (!value) {
    callback(new Error('请输入密码'));
  } else if (value.length < 6) {
    callback(new Error('密码不能少于6位'));
  } else {
    callback();
  }
};

rules: {
  password: [{ validator: validatePassword, trigger: 'blur' }]
}

动态表单验证 对动态生成的表单项,需在 rules 对象中预先定义对应字段的规则:

rules: {
  dynamicItem: [{ required: true, message: '动态项必填', trigger: 'blur' }]
}

表单提交验证 通过 ref 调用 validate 方法进行整体验证:

methods: {
  submitForm() {
    this.$refs.formRef.validate(valid => {
      if (valid) {
        // 验证通过
      } else {
        // 验证失败
      }
    });
  }
}

验证触发方式

  • trigger: 'blur':失去焦点时触发
  • trigger: 'change':值变化时触发
  • 可组合使用:trigger: ['blur', 'change']

常用验证规则

规则 示例 说明
required { required: true } 必填项
min/max { min: 6, max: 20 } 长度限制
pattern { pattern: /^[a-z]+$/ } 正则匹配
type { type: 'email' } 内置类型校验
validator { validator: func } 自定义验证函数

清除验证结果

// 清除全部验证
this.$refs.formRef.clearValidate();

// 清除特定字段验证
this.$refs.formRef.clearValidate('fieldName');

异步验证示例

async validateField() {
  try {
    await this.$refs.formRef.validateField('username');
    // 验证通过处理
  } catch (error) {
    // 验证失败处理
  }
}

注意事项

  1. el-form 的 model 属性必须与表单数据对象绑定
  2. el-form-item 的 prop 属性值需与 rules 中的字段名一致
  3. 动态表单字段需在 rules 中预先定义对应规则
  4. 自定义验证函数必须执行 callback()

elementui检验

标签: elementui
分享给朋友:

相关文章

elementui按需

elementui按需

ElementUI 按需引入方法 ElementUI 支持按需引入组件,以减少最终打包体积。以下是具体实现方式: 安装 babel-plugin-component 需要安装官方推荐的 babel…

elementui  文档

elementui 文档

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

elementui案例

elementui案例

Element UI 案例 Element UI 是一个基于 Vue.js 的组件库,广泛用于构建企业级中后台前端界面。以下是一些常见的 Element UI 案例和使用场景: 表单设计 Elem…

elementui消息

elementui消息

ElementUI 消息提示 ElementUI 提供了一套消息提示组件,包括 Message、MessageBox 和 Notification,用于展示不同类型的反馈信息。 消息提示(Mes…

elementui返回

elementui返回

Element UI 返回功能实现方法 Element UI 提供了多种方式实现返回功能,具体取决于使用场景和需求。以下是几种常见的方法: 使用 el-button 结合路由返回 在 Vue 项…

elementui markdown

elementui markdown

ElementUI 与 Markdown 结合使用 ElementUI 是一个基于 Vue.js 的组件库,常用于快速构建前端界面。Markdown 是一种轻量级标记语言,常用于文档编写。以下是将 E…