iview表单自定义验证的问题

在iview里面文档有一个参考例子

<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>

现在在rules这一块实现自定义验证

<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>

如何将函数validateInt传进去

在data里面像文档一样,这样写是OK的但是我想在‘:rules="{required: true,validator:'validateInt' , trigger: 'blur'}"里面传就有问题’

ruleCustom: {
                    passwd: [
                        { validator: validatePass, trigger: 'blur' }
                    ],
                    passwdCheck: [
                        { validator: validatePassCheck, trigger: 'blur' }
                    ],
                    age: [
                        { validator: validateAge, trigger: 'blur' }
                    ]
                }
阅读 4.4k
2 个回答

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

改成
:rules="intRule"
然后在

data () {
    return {
        intRule: {required: true,validator:validateInt , trigger: 'blur'}
    }
}
// 把 validateInt 放到 data 里面去
const validateInt = ()
data () {
    return {
        validateInt: validateInt
    }
}
// 然后把
:rules="{required: true,validator:'validateInt' , trigger: 'blur'}"
// 改成
:rules="{required: true,validator: validateInt, trigger: 'blur'}" 
// 建议去掉 required,在 validateInt 里面验证是否为空
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题