vue中常用的rules验证方式总结

 更新时间:2024年10月30日 09:22:42   作者:理部尚书  
这篇文章主要为大家详细介绍了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如何手写虚拟dom并进行渲染

    详解Vue如何手写虚拟dom并进行渲染

    这篇文章主要为大家详细介绍了渲染器的工作原理,以及如何将真实dom或者组件用虚拟dom的形式进行描述并渲染,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • vue2中的keep-alive使用总结及注意事项

    vue2中的keep-alive使用总结及注意事项

    vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗。本文给大家介绍vue2中的keep-alive使用总结及注意事项,需要的朋友参考下吧
    2017-12-12
  • Vue3全局组件注册的实现代码

    Vue3全局组件注册的实现代码

    在这篇文章中,我们将学习一下 Vue3 的全局组件注册是如何实现的,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-12-12
  • Vue中的v-for列表循环示例详解

    Vue中的v-for列表循环示例详解

    循环使用v-for指令,v-for指令需要以site in sites形式的特殊语法,sites是源数据数组并且site是数组元素迭代的别名,下面这篇文章主要给大家介绍了关于Vue中v-for列表循环的相关资料,需要的朋友可以参考下
    2022-11-11
  • vue前端开发层次嵌套组件的通信详解

    vue前端开发层次嵌套组件的通信详解

    vue通过provide & inject两个关键字完成父组件向子孙组件直接传值,很像子类能够使用父类的属性一样方便。provide & inject一般用于多层之间的传值,两层之间还是使用props进行
    2021-10-10
  • vue项目中页面底部出现白边及空白区域错误的问题

    vue项目中页面底部出现白边及空白区域错误的问题

    这篇文章主要介绍了vue项目中页面底部出现白边及空白区域错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue 中使用 watch 出现了如下的报错的原因分析

    vue 中使用 watch 出现了如下的报错的原因分析

    这篇文章主要介绍了vue 中使用 watch 出现了如下的报错信息的原因分析及解决方法,本文附有代码解决方案,非常不错,需要的朋友可以参考下
    2019-05-05
  • Vue3 计算属性computed的实现原理

    Vue3 计算属性computed的实现原理

    这篇文章主要介绍了Vue3 计算属性computed的实现原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • element el-tooltip动态显示隐藏(有省略号显示,没有省略号不显示)

    element el-tooltip动态显示隐藏(有省略号显示,没有省略号不显示)

    本文主要介绍了element el-tooltip动态显示隐藏,主要实现有省略号显示,没有省略号不显示,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • vue在data中定义变量后依旧报undefined的解决

    vue在data中定义变量后依旧报undefined的解决

    这篇文章主要介绍了vue在data中定义变量后依旧报undefined的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03

最新评论