当前位置:   article > 正文

element-plus表单验证规则rules常用_elementplus rules

elementplus rules

一、常用属性介绍

属性属性含义属性值
type验证数据的类型array, string, data, boolean, number,url,email,obj,integer,any ...
required是否必填true / false
witespace验证是否有空格true / false
message校验不通过的提示信息string类型,自定义
trigger验证逻辑的触发方式blue(失去焦点触发) / change(对应的数据改变时触发)
min输入的最小长度numer类型,自定义
max输入的最大长度numer类型,自定义
len精准长度numer类型,自定义(优先级比min/max高)
pattern正则regexp,正则表达式
validator自定义校验规则

function,有三个参数:
    rule:当前校验规则;
    value:输入框的数据;
    callback:回调函数,不管是否通过校验都 必须执行

    当校验不通过的时候,

    显示提示信息:callback(new Error('提示信息'))

tip:type属性值any

  1. talent:[
  2. { type: 'talent',talent:['唱','跳','rap','篮球'],message: '不在talent中',trigger: 'blur' }
  3. ]

二、常用验证规则

  1. const formModel = ref({
  2. username: '', // 用户名称
  3. password: '', // 用户密码
  4. repassword: '', // 再次输入密码
  5. habit: [], // 爱好
  6. email: '', // 邮箱
  7. phone:'', // 手机号码
  8. agree: true // 勾选协议
  9. })
  10. const rules = ref({
  11. // 用户名称
  12. username: [
  13. { required: true, message: '请输入用户名', trigger: 'blur' },
  14. { min: 5, max: 10, message: '用户名必须是 5-10位 的字符', trigger: 'blur' }
  15. ],
  16. // 用户密码
  17. password: [
  18. { required: true, message: '请输入密码', trigger: 'blur' },
  19. { pattern: /^\S{6,15}$/, message: '密码必须是 6-15位 的非空字符', trigger: 'blur' }
  20. ],
  21. // 再次输入密码
  22. repassword: [
  23. { required: true, message: '请输入密码', trigger: 'blur' },
  24. { pattern: /^\S{6,15}$/, message: '密码必须是 6-15位 的非空字符', trigger: 'blur' },
  25. {
  26. validator: (rule, value, callback) => {
  27. // 判断 value 和 当前 form 中收集的 password 是否一致
  28. if (value !== formModel.value.password) {
  29. callback(new Error('两次输入密码不一致'))
  30. } else {
  31. callback() // 校验成功
  32. }
  33. },
  34. trigger: 'blur'
  35. }
  36. ],
  37. // 验证多选
  38. habit:[{type: 'array',required: true,message: '请至少选择一个爱好',trigger: 'change'}],
  39. //验证邮箱
  40. email: [{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
  41. // 验证手机号
  42. phone: [
  43. { required: true, message: '请输入手机号', trigger: 'blur' },
  44. { pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确', trigger: 'blur' }
  45. ],
  46. // 勾选协议
  47. agree: [{
  48. validator: (rule, value, callback) => {
  49. if (!value) {
  50. return callback(new Error('请勾选同意协议!'))
  51. } else {
  52. callback();
  53. }
  54. },
  55. trigger: 'change'
  56. }
  57. ]
  58. })

三、常用正则表达式

  1. // 1.是否手机号码或者固话
  2. pattern:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/,
  3. // 2. 是否身份证号码
  4. pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
  5. // 3.邮箱
  6. pattern:/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/,
  7. // 4.正整数
  8. pattern:/^[1-9]\d*$/,
  9. // 5.小写字母
  10. pattern:/^[a-z]+$/,
  11. // 6.大写字母
  12. pattern:/^[A-Z]+$/,
  13. // 7.大小写混合
  14. pattern:/^[A-Za-z]+$/,
  15. // 8.多个8位数字格式(yyyyMMdd)并以逗号隔开
  16. pattern:/^\d{8}(\,\d{8})*$/,
  17. // 9.数字加英文,不包含特殊字符
  18. pattern:/^[a-zA-Z0-9]+$/,
  19. // 10.前两位是数字后一位是英文
  20. pattern:/^\d{2}[a-zA-Z]+$/,
  21. // 11.密码校验(6-20位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种)
  22. pattern:/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/,
  23. // 12.中文校验
  24. pattern:/^[\u0391-\uFFE5A-Za-z]+$/,

四、免责声明

1、本博客中的文章摘自网上的众多博客,仅作为自己知识的补充和整理,并分享给其他需要的 coder,不会用于商用;

2、因为很多博客的地址已经记不清楚了,所以不会在这里标明出处;

3、正则表达式生成器:正则表达式在线验证-在线正则表达式校验工具

一个 Vue 3 UI 框架 | Element PlusA Vue 3 based component library for designers and developersicon-default.png?t=N7T8https://element-plus.org/zh-CN/#/zh-CN

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/607404
推荐阅读
相关标签
  

闽ICP备14008679号