vue + Element UI 之 rules校验

vue + Element UI 之 rules校验

rules: {    
  name: [         
    /*required 是否必填  trigeer 触发检查的方式 blur 失去焦点时检查 change 值发生改变时触发*/
    { required: true, message: '请输入活动名称', trigger: 'blur' },

    /*min  最小值   max 最大值 注意: type默认为string min和max则为最小长度和最大长度  当需要设置成数字的最小值和最大值时 type:'number' 需要在绑定时写  v-model.number='age' 但input的type 不能设置为number否则获取的值会一直被视为是字符串 */
    { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } ,

    /*type的用法 ,其它的使用请参考文档*/        
    { type: 'date', required: true, message: '请选择日期', trigger: 'change' }, 

    /*使用正则*/        
    {pattern:/^[a-z]+$/,message:'只能输入字母!'}, 
    { pattern: /^(0|[1-9][0-9]*)$/, message: "请输入数字", trigger: "blur" },

    /*自定义检查方法.checkfun ,参数 rule, value, callback ,检测成功 或不成功都需要手动调用 callback , 验证不成功时 callback(new Error('提示信息')) :注意 当在下面的对象中有message时则验证失败只会显示message的值 */        
    { validator: checkfun, trigger: 'blur' } 
  ]
}

常用登录校验

登录页面密码校验

rules: {
  passwd: [
    {
      required: true, message: '请输入密码', trigger: 'blur' },
    {
      trigger: 'blur',
      validator: (rule, value, callback) => {
      var passwordreg = /(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,20}/
      if (!passwordreg.test(value)) {
        callback(new Error('密码必须由数字、字母、特殊字符组合,请输入8-20位'))
      }else{
        callback()
      }
    }
  }
 ]
}

原文连接:
https://www.cnblogs.com/itstac/p/11063125.html

posted @ 2022-03-30 14:27  青砖黛瓦  阅读(771)  评论(0编辑  收藏  举报