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的双向数据绑定问题

    轻松理解vue的双向数据绑定问题

    Vue是当前很火的一款MVVM的轻量级框架,它是以数据驱动和组件化的思想构建的。因为它提供了简洁易于理解的api,使得我们很容易上手。这篇文章给大家介绍了vue双向数据绑定问题,感兴趣的朋友一起看看吧
    2017-10-10
  • vue+vue-fullpage实现整屏滚动页面的示例代码(直播平台源码)

    vue+vue-fullpage实现整屏滚动页面的示例代码(直播平台源码)

    这篇文章主要介绍了vue+vue-fullpage实现整屏滚动页面,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 详解Vue结合后台的列表增删改案例

    详解Vue结合后台的列表增删改案例

    这篇文章主要介绍了详解Vue结合后台的增删改案例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Vue 去除路径中的#号

    Vue 去除路径中的#号

    大家都知道vue-router有两种模式,hash模式和history模式,带#的则是hash模式。接下来给大家带来了Vue 去除路径中的#号的解决方法,感兴趣的朋友一起看看吧
    2018-04-04
  • Vue环境搭建+VSCode+Win10的详细教程

    Vue环境搭建+VSCode+Win10的详细教程

    这篇文章主要介绍了Vue环境搭建+VSCode+Win10,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Thymeleaf + Vue组件化开发方式

    Thymeleaf + Vue组件化开发方式

    这篇文章主要介绍了Thymeleaf + Vue组件化开发方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Vue3 TypeScript 实现useRequest详情

    Vue3 TypeScript 实现useRequest详情

    本文介绍了Vue3 TypeScript实现useRequest详情,useRequest可能是目前社区中最强大,最接地气的请求类 Hooks了。可以覆盖99%的网络请求场景,无论是读还是写,无论是普通请求还是分页请求,无论是缓存还是防抖节流,通通都能支持,关于其介绍需要的小伙伴可以参考一下
    2022-05-05
  • vue中实现当前时间echarts图表时间轴动态的数据(实例代码)

    vue中实现当前时间echarts图表时间轴动态的数据(实例代码)

    这篇文章主要介绍了vue中实现当前时间echarts图表时间轴动态的数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • vue组件实现文字居中对齐的方法

    vue组件实现文字居中对齐的方法

    这篇文章主要为大家详细介绍了vue组件实现文字居中对齐的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • vue 自定义右键样式的实例代码

    vue 自定义右键样式的实例代码

    这篇文章主要介绍了vue 自定义右键样式的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论