Vue的表單校驗規則是通過使用官方提供的vuelidate插件進行實現的,使用該插件可以大大簡化表單校驗的工作流程。在使用該插件之前,我們需要先通過npm進行安裝。
npm install vuelidate --save
在安裝完成之后,我們需要在主文件中引入vuelidate插件。
import Vuelidate from 'vuelidate' Vue.use(Vuelidate)
之后我們便可以在需要進行校驗的組件中進行引用,首先需要在組件實例中進行校驗規則的定義,該定義是通過使用Vue.defineValidation(name, validator)方法進行的。
export default { validations: { field1: { minLength: minLength(3), maxLength: maxLength(10), required }, field2: { email } }, }
在定義好校驗規則之后,我們可以在模板中進行使用,通過使用v-model指令來進行雙向數據綁定,使用vuelidate的指令進行校驗。vuelidate提供了3種基本的校驗指令,分別是$invalid、$dirty、$error,其中$invalid用于判斷當前字段是否滿足校驗規則,$dirty用于判斷當前字段是否已經對其進行過修改,$error則可以返回字段的校驗錯誤信息。
請填寫該字段的正確信息。
除了基礎的校驗指令之外,我們還可以通過組合使用多個規則來進行更加復雜的校驗。在該插件中提供了多個實用的校驗規則,如alpha、numeric、email、url等等,我們可以在調用規則的時候同時傳入參數來進行組合使用。
export default { validations: { field3: { required, minLength: minLength(10), maxLength: maxLength(20), $each: { required, maxLength: maxLength(50), $each: { required } }, $or: { numeric, email } } }, }
在上面的代碼片段中,我們就使用了$each、$or等規則來進行更加復雜的校驗。$each用于在一個數組中的每個元素進行校驗,$or則用于在分支條件中進行校驗。除此之外,插件還提供了其它實用的校驗方法,如自定義規則、異步校驗等等,可以方便我們進行組件與組件數據的數據交互。
下一篇vue 樹表結構