elementui表單驗證 對比兩個表單大小

codeMing_發表於2020-10-16

接到需求:將輸入的血壓最大值最小值進行對比,最大值不得小於最小值。

解決方法:使用表單驗證,自己寫個函式,注意,一定要轉化成number型別,不然會出現問題。

程式碼:

data() {
     let low = (rule,value,callback) => {
                // if(!value) {
                //     return new Error('必填資訊')
                // }else {
                    if(Number.isInteger(value)) {
                        callback(new Error('請輸入數字值'))
                    }else{
                        if(value < 0) {
                            callback(new Error('不能小於0'))
                        }else if(value < 70){
                            callback(new Error('不能小於70'))
                        }else if(Number(value) >Number(this.dataForm.high) ){
                           callback(new Error('不能大於高壓值'))
                           
                          }else {
                            callback()
                        }
                    }
                }
            // }
             let high = (rule,value,callback) => {
                // if(!value) {
                //     return new Error('必填資訊')
                // }else {
                    if(Number.isInteger(value)) {
                        callback(new Error('請輸入數字值'))
                    }else{
                        if(value < 0) {
                            callback(new Error('不能小於0'))
                        }else if(value > 160){
                            callback(new Error('不能大於160'))
                        }else if(Number(value) < Number(this.dataForm.low)){
                           callback(new Error('不能小於低壓值'))
                           console.log(this.dataForm.low + '------'  +  this.dataForm.high);
                          }else {
                            callback()
                        }
                    }
                }
            // }
dataRule: {
        lineName: [
          { required: true, message: "線路不能為空", trigger: "blur" },
        ],
        
        low:[{validator:low,trigger:'blur'}],
        high:[{validator:high,trigger:'blur'}],
      },

相關文章