码迷,mamicode.com
首页 > 其他好文 > 详细

Element-ui 自定义表单验证规则

时间:2020-05-12 11:57:54      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:this   需求   formdata   erro   而在   inpu   item   targe   callback   

 

有时在后台我们需要对输入的数值进行简单的正则验证,此时ElementUi 自带的验证已不能满足我们的需求,故需要我们自己去写 验证规则

有两种书写位置:

  • 一种在data中写规则
  • 另一种在methods中写规则

 

表单:

<el-form-item label="需求砍价人数:" prop="haggleNumber">
       <el-input v-model="formData.haggleNumber" clearable>        
       </el-input>
</el-form-item>    

 

方法一: 在data中写规则

data() {
    // 自定义校验规则
    var bargainMoney = (rule, value, callback) => {
      // rule 对应使用bargainMoney自定义验证的 对象
      // value 对应使用bargainMoney自定义验证的 数值 
      // callback 回调函数
      const r = /^\+?[1-9][0-9]*$/; // 正整数
      if (value == null || String(value).trim() === "") {
        callback(new Error("不能为空"));
      } else if (!r.test(value)) {
        callback(new Error("请输入正整数"));
      }else {
        callback();
      }
    };
  
   return {
      formData: {
        haggleNumber: "", // 砍价人数
      },
      rules: {
        haggleNumber: [
          {
            required: true,
            validator: bargainMoney,
            trigger: "blur"
          }
        ],
      }
   }
}

 

方法二: 在methods中写规则

data() {
 return {
      formData: {
        haggleNumber: "", // 砍价人数
      },
      rules: {
        haggleNumber: [
          {
            required: true,
            validator: this.bargainMoney,
            trigger: "blur"
          }
        ],
      }
 }
},
methods: {
    // 自定义校验规则
    bargainMoney(rule, value, callback){
      // rule 对应使用bargainMoney自定义验证的 对象
      // value 对应使用bargainMoney自定义验证的 数值 
      // callback 回调函数
      const r = /^\+?[1-9][0-9]*$/; // 正整数
      if (value == null || String(value).trim() === "") {
        return callback(new Error("不能为空"));
      } else if (!r.test(value)) {
        return callback(new Error("请输入正整数"));
      }else {
        return callback();
      }
    },
}

 

二者的区别在于:

  • 在data 中不需要通过 return 回调函数,而在 methods 中则需要
  • 在methods中写的验证规则 ,需要在rules中配置规则时通过 this获取

 

分享一刻:

  国内数一数二的代码托管平台,一起来为国内开源生态贡献一份力量吧 

  Gitee

 

Element-ui 自定义表单验证规则

标签:this   需求   formdata   erro   而在   inpu   item   targe   callback   

原文地址:https://www.cnblogs.com/huangaiya/p/12874675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!