鍍金池/ 問答/HTML/ iview表單自定義驗(yàn)證的問題

iview表單自定義驗(yàn)證的問題

在iview里面文檔有一個(gè)參考例子

<FormItem    v-for="(item, index) in formDynamic.items"
             v-if="item.status"
             :key="index"
             :label="'Item ' + item.index"
             :prop="'items.' + index + '.value'"
             :rules="{required: true, message: 'Item ' + item.index +' can not be empty', trigger: 'blur'}">
        </FormItem>

現(xiàn)在在rules這一塊實(shí)現(xiàn)自定義驗(yàn)證

<FormItem v-if="actionLabel!==''&&showActionValType===1"
                          :label="actionLabelText"
                          prop="actionValDIM"
                          :rules="{required: true,validator:'validateInt' , trigger: 'blur'}">
                    <Slider v-model="programForm.actionValDIM" :tip-format="format" style="width: 400px"></Slider>
                </FormItem>

如何將函數(shù)validateInt傳進(jìn)去

在data里面像文檔一樣,這樣寫是OK的但是我想在‘:rules="{required: true,validator:'validateInt' , trigger: 'blur'}"里面?zhèn)骶陀袉栴}’

ruleCustom: {
                    passwd: [
                        { validator: validatePass, trigger: 'blur' }
                    ],
                    passwdCheck: [
                        { validator: validatePassCheck, trigger: 'blur' }
                    ],
                    age: [
                        { validator: validateAge, trigger: 'blur' }
                    ]
                }
回答
編輯回答
拮據(jù)

:rules="{required: true,validator:'validateInt' , trigger: 'blur'}"

改成
:rules="intRule"
然后在

data () {
    return {
        intRule: {required: true,validator:validateInt , trigger: 'blur'}
    }
}
2017年1月27日 18:36
編輯回答
假灑脫
// 把 validateInt 放到 data 里面去
const validateInt = ()
data () {
    return {
        validateInt: validateInt
    }
}
// 然后把
:rules="{required: true,validator:'validateInt' , trigger: 'blur'}"
// 改成
:rules="{required: true,validator: validateInt, trigger: 'blur'}" 
// 建議去掉 required,在 validateInt 里面驗(yàn)證是否為空
2017年5月12日 14:03