element ui 验证

这篇博客详细介绍了如何在Vue.js中使用Element UI组件库进行表单验证和数据提交。内容包括利用`el-form`、`el-form-item`、`el-cascader`等组件创建表单,并通过自定义验证规则确保输入的`bmmc`字段为中文,`fbmxh`字段不为空。在提交表单时,使用`this.$refs[form].validate()`进行校验,根据校验结果进行相应操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// ref="form"   ref="form"

<el-form
      ref="form"
      :model="form"
      :rules="rules"
      style="width:100%;"
      label-width="90px"
    >





// prop="fbmxh"

<el-form-item label="添加部门" prop="fbmxh">
        <el-cascader
          v-model="form.fbmxh"
          :options="treeSelectList"
          :props="{
            checkStrictly: true,
            expandTrigger: 'hover',
            value: 'id',
            label: 'label'
          }"
        ></el-cascader>
      </el-form-item>


// callback();
data() {
    var isEmpty = (rule, value, callback) => {
      if (value === "") {
        return callback(new Error("不能为空"));
      }
      callback();
    };
    var limitChinese = (rule, value, callback) => {
      var pattern = /^[\u4e00-\u9fa5]+$/;
      if (!pattern.test(value)) {
        return callback(new Error("只能写中文"));
      }
      callback();
    };
    return {
      form: {
        fbmxh: "",
        bmmc: "",
        xssx: 0,
        bmzt: "0"
      },
      rules: {
        bmmc: [{ required: true, validator: limitChinese, trigger: "blur" }],
        fbmxh: [{ required: true, validator: isEmpty, trigger: "change" }]
      }
    };
  },



onSubmit() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          console.log(1);
        } else {
          // alert.log("error submit!!");
          console.log(2);
        }
        console.log(valid);
      });
      console.log("添加的数据", this.form);
      // this.$emit("addSubmit", this.form);
    },

Element UI 提供了一套简洁易用的表单验证组件,允许开发者方便地集成到项目中。它基于 Vue.js,并提供了一系列预设的验证规则和提示,可以轻松实现如必填项、邮箱格式、手机号码验证等功能。以下是Element UI 表单验证的一些关键特性: 1. **内置验证规则**:比如 `required`(必填)、`email`(邮箱)、`number`(数字)等,可以直接应用于 `<el-form-item>` 的 `rules` 属性。 2. **自定义验证**:允许设置复杂的正则表达式或自定义函数进行更精细的验证。 3. **实时验证**:提交按钮按下时会立即触发验证,错误会在对应的输入框显示提示。 4. **验证状态**:通过 `error` 或 `success` 类名展示验证结果,易于视觉反馈。 5. **组件级验证**:不仅限于整个表单,每个单独的表单项也可以独立进行验证。 6. **验证状态管理**:支持全局验证状态统一管理和控制,便于处理复杂场景。 使用示例: ```html <template> <el-form :model="form" ref="ruleForm" label-width="80px"> <!-- ... --> <el-form-item prop="password" label="密码" rules="required"> <el-input type="password"></el-input> </el-form-item> </el-form> </template> <script> export default { data() { return { form: { password: '' } }; }, methods: { submitForm() { this.$refs.ruleForm.validate((valid) => { if (valid) { console.log('submit!'); } else { console.log('error submitting!'); } }); } } }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值