{ type: "array", required: true, message: "請選擇服務領域!", trigger: "change" }
選擇的數據有延遲,沒有拿到第一個數據,因此數組的長度爲0,也就驗證不經過了數組
自定義驗證規則,裏面經過setTimeout來實現等到拿到第一個數據時進行延遲驗證ui
const selRule = (rule, value, callback) => { setTimeout(() => { if (value.length === 0) { callback(new Error("請選擇服務領域.")); } else { callback(); } }, 0); };
這個問題跟上個同樣,能夠自定義驗證規則,來實現,我本身出現這個問題,是由於忘記寫else了【必定記得要寫else{callback();}】this
修改後的驗證規則:spa
const validateTime \= (rule, value, callback) \=> { if (value !== "") { if (value < this.formData.startTime) { callback(new Error("截止時間不能早於開始時間!")); } else { callback(); } } else { callback(new Error("請選擇截止日期.")); } };