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

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 方法进行整体验证:

elementui检验

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选中

选中状态的基本用法 在Element UI中,选中状态通常通过v-model绑定数据实现。例如表格的多选功能,使用el-table组件配合type="selection"的列定义,结合v-model绑…

elementui日志

elementui日志

以下是关于 Element UI 日志相关的信息整理: Element UI 官方日志文档 Element UI 的更新日志(Changelog)通常可以在其 GitHub 仓库或官方文档中找到。通…

elementui dropdown

elementui dropdown

ElementUI Dropdown 基础用法 ElementUI 的 Dropdown 组件用于创建下拉菜单,常用于导航或操作选项的折叠展示。以下是一个基础示例: <el-dropdown&…

elementui dllplugin

elementui dllplugin

ElementUI DLLPlugin 配置方法 ElementUI 的 DLLPlugin 是一种 Webpack 插件,用于提升构建性能。通过将不经常变化的依赖库预先编译打包,减少开发时的重复构建…

比elementui

比elementui

对比 Element UI 的替代方案 Element UI 是一个基于 Vue.js 的流行组件库,但近年来开发者可能寻求更现代、更轻量或功能更丰富的替代品。以下是几个值得考虑的替代方案及其特点:…

elementui单据

elementui单据

以下是关于Element UI中实现单据(如订单、表单等)功能的整理方案,结合组件库特性和常见业务场景: 表单数据绑定 使用 el-form 组件绑定单据数据模型,支持动态表单字段和校验规则。示例代…