elementUI 不用在写rule来作表单校验啦

相信很多人都有过这样的代码

{
  name: [
    { required: true, message: '请输入活动名称', trigger: 'blur' },
  ],
  region: [
    { required: true, message: '请选择活动区域', trigger: 'change' }
  ],
}

额滴恶瓜脑膜炎上帝啊, 这是要坐实我搬砖皇帝的身份么,一个required要我写这么多代码? 我就一个必填, 你默认给我整个英文,还是

name is required

唉, 不得不想出点脑瓜仁方便方便了。
二话不说,
我包装了下el-form, 看下:



这么用:

 
    
              
            
 
就只要在form-item上写个 required! message默认就是标题不能为空

当然这个base-form还可以随便加定好的属性,你看:

validator.js
/**
 * Verifier
 */
export default {
  mobile: () => (rule, value, callback) => {
    if (!/^1[0-9]{10}$/.test(value)) {
      callback(new Error("手机号码错误"));
    } else {
      callback();
    }
  },

  email: () => (rule, value, callback) => {
    if (!/[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value)) {
      callback(new Error("电子邮箱格式错误"));
    } else {
      callback();
    }
  }
};

你只要这么使用:


    
              
            
 

邮箱验证就加上去啦!

当当当然,阔以叠加


    
              
            
 

ohohohohohohohoh!!

当当当当当当然, base-form是不会冲掉原本el-form的属性的, 这么炫炫的组件不copy试试吗?

你可能感兴趣的:(javascript,vue.js,前端)