vue中常用的rules验证方式总结
vue中常用的几种表单rules验证方式
message:报错信息
trigger:触发方式
1)blur :失去焦点时进行验证
2)change :当值发生变化时进行验证
required:指定字段是否为必填项(此栏是否为空)
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [
{
required: true,
message: '请输入考核层级',
trigger: 'blur',
}
]
}
min/max:用于验证字段的最小值或最大值(适用于字符串长度或数字范围)
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
min: 2,
max: 5,
message: '字符长度在2到5之间',
trigger: 'blur'
}]
}
type:指定字段的类型,如 string, number, boolean, array, date, email, url等
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
min: 1,
max: 100,
type: 'number',
message: '请输入1到100之间的数字',
trigger: 'change'
}]
}
pattern:使用正则表达式进行验证
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
pattern: /^[a-zA-Z0-9]+$/,
message: '只能包含字母和数字',
trigger: 'blur'
}
]
}
validator:自定义验证逻辑,提供最大灵活性,可以使用回调函数来处理复杂的验证逻辑
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
validator: (rule, value, callback) => {
if (value === '') {
callback(new Error('输入不能为空'));
} else if (!/^\d+$/.test(value)) {
callback(new Error('请输入数字'));
} else {
callback(); // 验证通过
}
},
trigger: 'change'
}
]
}
enum:指定枚举值,用于验证输入是否在特定值的集合中
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
type: 'enum',
enum: ['option1', 'option2'],
message: '请选择有效选项',
trigger: 'change'
}]
}
len:验证字段的固定长度(适用于字符串或数组)
{
label: "用户姓名",
prop: "UserName",
type: "input",
rules: [{
len: 5,
message: '请输入5个字符',
trigger: 'blur'
}]
}
扩展:有一个需求,我需要在监视属性中,增加一个自定义rules规则,规则是判断两个日期是否符合条件,不符合需要返回 ‘日期校验错误’
到此这篇关于vue中常用的rules验证方式总结的文章就介绍到这了,更多相关vue rules验证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue任意关系组件通信与跨组件监听状态vue-communication
这篇文章主要介绍了vue任意关系组件通信与跨组件监听状态vue-communication,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10
vue报错Cannot read properties of undefined (...)类型的解决办法
这篇文章主要给大家介绍了关于vue报错Cannot read properties of undefined (...)类型的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-04-04


最新评论