1、form表单验证:公共验证和行内验证
- 定义公共验证方法
// utils/index
// 手机号校验
export function checkPhoneNumber(rule, value, callback) {
const reg =
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; //11位手机号
if (!value) {
return callback(new Error("手机号不能为空"));
} else if (!reg.test(value)) {
return callback(new Error("手机号格式不正确"));
} else {
return callback();
}
}
// 身份证号校验
export function checkCardId(rule, value, callback) {
const reg =
/(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/;
if (!value) {
return callback(new Error("证件号码不能为空"));
} else if (!reg.test(value)) {
return callback(new Error("证件号码不正确"));
} else {
callback();
}
}
// 密码校验
export function checkPassWord(rule, value, callback) {
const reg =
/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/;
if (!value) {
return callback(new Error("密码不能为空"));
} else if (!reg.test(value)) {
return callback(new Error("请输入8位以上密码,必须包含数字、字母、特殊符号"));
} else {
callback();
}
}
- 使用
<el-form-item label="联系电话" prop="telephone">
<el-input
size="small"
clearable
v-model="form.telephone"
placeholder="请输入联系电话"
style="width: 100%"
>
</el-input>
</el-form-item>
import {
checkPhoneNumber, //手机号校验
} from "@/utils/index";
// 表单校验
rules: {
telephone: [
{ required: true, message: "不能为空", trigger: "blur" },
{
validator: checkPhoneNumber,
trigger: "blur",
},
],
},
- 直接使用type规则,例如number ,email
<el-form-item
label="年龄"
prop="age"
:rules="[
{ required: true, message: '年龄不能为空'},
{ type: 'number', message: '年龄必须为数字值'}
]"
>
<el-form-item
prop="email"
label="邮箱"
:rules="[
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
]"
>
<el-input v-model="dynamicValidateForm.email"></el-input>
</el-form-item>
修改lable标签的样式,例如color
- 修改所有的lable样式
.el-form-item__label{
color: red;
}
- 修改单个lable的样式
<el-form-item label="年龄" prop="age" class="item">
.item .el-form-item__label{
color: red;
}
- 修改lable中部分文字的颜色
<el-form-item>
<span slot="label">label 值 <span class="red">(特殊提示)</span> </span> // slot
<el-input></el-input>
</el-form-item>
版权声明:本文为weixin_43848576原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。