zoukankan      html  css  js  c++  java
  • Element-ui 自定义表单验证规则

    有时在后台我们需要对输入的数值进行简单的正则验证,此时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

  • 相关阅读:
    ffplay 2.5.3 媒体播放器
    MinGW/MSYS 交叉编译环境搭建
    python chm 中文帮助 (2.7 和 3.4)
    wx.html2.WebView在 target="_blank" or rel="external" 没有反映的解决方法
    韩星5,6号 一锅双星技巧
    暖房子工程
    CStringUtf8ToUnicode
    燃气灶中心炉芯帽子生锈了,如何拆不下来?
    翻窗户消失的百岁老人/百岁老人跷家去 中文字幕
    CPinyin unicode汉字查找拼音(支持多音字)
  • 原文地址:https://www.cnblogs.com/huangaiya/p/12874675.html
Copyright © 2011-2022 走看看