Element表单验证rules整理
说明:
这里整理的是element组件的Form表单验证规则
Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可
参数
- type 标志要使用的validator的数据类型
- required 必填
- message 提示内容
- trigger 触发条件 (change||blur)
- min 最小值
- max 最大值
- len 精准长度 (优先级高于min,max)
- enum 枚举中存在该值 (type必须为enum类型)
- whitespace 不能包含空白符
- pattern 正则 (必须加 required: true)
类型
-
string: 必须是 类型。stringThis is the default type.
-
number: 必须是 类型。number
-
boolean: 必须是 类型。boolean
-
method: 必须是 类型。function
-
regexp:必须是 在创建新 时不生成异常的 实例或字符串。RegExpRegExp
-
integer:必须是类型和整数。number
-
float:必须是类型和浮点编号。number
-
array: 必须是 由 确定的数组。Array.isArray
-
object:必须是类型而不是 。objectArray.isArray
-
enum: 值必须存在于 中。enum
-
date: 值必须有效,由Date
-
url: 必须是 类型。url
-
hex: 必须是 类型。hex
-
email: 必须是 类型。email
-
any: 可以是任何类型。
使用方法:
model绑定对应需要校验的数据,rules绑定校验规则, prop绑定的规则名字必须和model里面的名字一致,例: ruleForm:
{name: “”} 而 prop=“name” 不然不起效果
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" >
<el-form-item label="活动名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
ruleForm: {
name: "",
},
rules: {
name: [
{ required: true, message: "请输入活动名称", trigger: "blur" },
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
],
},
};
},
//1、手机号码验证正则
{ required: true, message: '请输入手机号', trigger: 'blur' },
{
pattern: /^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/,
message: "手机号格式不对",
trigger: "blur",
},
//2、身份证验证
{ required: true, message: '请输入证件号码', trigger: 'blur' },
{
pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
message: '证件号码格式有误!',
trigger: 'blur',
},