首页 > 其他分享 >element-ui 表单验证注意事项

element-ui 表单验证注意事项

时间:2023-11-05 20:35:54浏览次数:31  
标签:name 校验 表单 callback trigger ui blur message element


1、表单验证注意

其中的每个 el-form-item 标签中,都有一个 prop ,其中的值是我们 rules 对象中的 某个 属性。

然后我们 v-model 绑定的值也必须是 这个 属性

比如我们的字段是 userName,我们的prop还是name时,校验失效

<el-form-item label="名称" prop="name"> <el-input v-model="form.userName"></el-input> </el-form-item>
form: { name: undefined, sex: undefined, age: undefined }, rules: { name: [ { required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' } ], sex: [ { required: true, message: "性别不能为空", trigger: "blur" } ], age: [ { required: true, message: "年龄不能为空", trigger: "blur" }, { pattern: /^([0-9]|[1-9]\d|[1-9]\d\d)$/, message: '年龄介于 0-999 之间', trigger: 'blur' } ] }

2、触发校验错误

rules 中 每个校验对象 都有一项 trigger 是检验触发的方式

对  el-input   输入框的验证, trigger 的值选 blur ,即 失去焦点 时进行验证。

下拉框  el-select 、日期选择器  el-date-picker 、复选框  el-checkbox 、单选框  el-radio 验证时, trigger 的值选择 change ,即当 值发生变化 时就进行验证。

没有任何输入的时候,不会触发 change , 但一定会触发 blur 事件

注:如果使用了其他的组件(非ele组件等),组件中没有 v-model 等等情况时,值改变时需要我们手动去触发校验

方法名 说明 参数 validateField 对部分表单字段进行校验的方法 Function(props: array | string, callback: Function(errorMessage: string))

this.$refs.表单ref名称.validateField(校验字段);

自定义校验:

用于一些校验一些复杂的值

validator的参数有:(rule, value, callback), 前三个比较重要 。

rule: 指向该条规则对象。 value: 新的值,用于参与运算、对比。 callback: 执行回调,使用方法是:callback('...');。 如果不传参:表示验证通过,一般不必专门强调。 如果传入值:字符串会作为错误提示,但是显示优先级低于外层的message。比如callback('内层错误提示');跟message: '外层错误提示'同时存在,则会提示:外层错误提示

data(){ const name = (rule, value, callback) => { console.log(rule) console.log(value) console.log(callback) if (this.oldName === value) { callback(new Error("新名字不能和旧名字一致")); } else { callback(); } }; return { rules: { name: [ { required: true, trigger: "blur", message: "请再次输入新名字" }, { required: true, validator: name, trigger: "blur" } ] } }

标签:name,校验,表单,callback,trigger,ui,blur,message,element
From: https://blog.51cto.com/u_10486491/8195034

相关文章

  • 立即模式下的 Egui
    title:author:阿东keywords:-Rust-RustProgrammingLanguage-egui-eframe-Techniquedescription:Rust优秀GUI库egui采用的立即模式到底有什么特点?为什么选择了它?author_email:[email protected]_at:"2023-03-31"updated_at:"2023-03-......
  • nodejs 新版本build问题
    nodejs、vue问题记录【vue下载地址】https://unpkg.com/vue/dist/vue.jshttps://unpkg.com/vue@nexthttps://unpkg.com/vue@3/dist/vue.global.js【npm创建vue项目】npmcreatevue@latest 1、node新版本问题参考下:https://www.jianshu.com/p/edbad6875b7eNode.j......
  • Pset_BuildingCommon
    Pset_BuildingCommonPSET_TYPEDRIVENOVERRIDE/IfcBuilding :属性集定义BuildingCommon:IfcBuilding所有实例定义的公共特性。请注意,几个建筑属性在IfcBuilding实例中直接处理,建筑编号(或短名称)由IfcBuilding.name处理,建筑名称(或长名称)由IfcBuilding.LongName处理,描述(或注释)由IF......
  • EasyUI Messager 消息框点击右上角x无法执行回掉函数解决
    版本:1.30和1.3.2的可参考以下网址;当前版本1.7.0参考上面的思路在js文件里面查找messager-iconmessager字符串。如下图所示只找到了3处。此时还没有看到用的是那个一个。有回头看一下官网。如下图所示。实用$.messager.alert共有四个参数。根据此处的想法选择如下图所示......
  • UUID 的 5 个版本
    UUID 的全称是 UniversallyUniqueIdentifier,中文为通用唯一识别码。在对UUID进行说明之前,我们来看一个标准的UUID。下面就是一个标准的UUID,使用横杠分隔符来进行分隔: 123e4567-e89b-42d3-a456-556642440000xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxUUID结构有关版......
  • UUID 的 5 个版本
    UUID 的全称是 UniversallyUniqueIdentifier,中文为通用唯一识别码。在对UUID进行说明之前,我们来看一个标准的UUID。下面就是一个标准的UUID,使用横杠分隔符来进行分隔: 123e4567-e89b-42d3-a456-556642440000xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxUUID结构有关版本的定义......
  • 关于 element-ui 中的 default 插槽的使用
    关于element-ui中的default插槽的使用<el-cascader><templatev-slot:default="{node,data}"><div>{{data.label}}</div></template></el-cascader>......
  • Django 表单处理:从前端到后台的全流程指南
    Django作为一个高级PythonWeb框架,它的表单处理能力强大,可以有效地处理用户输入,进行数据验证以及错误处理。本文将详细介绍如何在Django中创建、处理和使用表单。1.Django表单系统的核心Django的表单系统处理表单的生命周期,涉及以下核心部分:表单类:定义表单的结构和行为。验......
  • 如何做到像坚果云这样自定义 Windows 文件资源管理器的 UI?
    要像坚果云那样自定义Windows文件资源管理器的UI,你可以尝试以下几个步骤:开发一个Shell扩展:使用WindowsShell编程,你可以开发一个Shell扩展程序,它可以插入到Windows文件资源管理器中,并扩展其功能。可以使用编程语言,如C++或C#来编写Shell扩展。注册Shell扩展:一旦你开发完成Shell扩展,......
  • version `GLIBC_2.34' not found (required by ./rmblastn)
     001、问题如下: 002、解决方法:    003、 参考:01、 ......