下拉框格式如下:
<FormItem label="商品分类:" prop="commodityType">
<Select v-model="formEdit.commodityType" style="width:100%;" :disabled="modalType ? true : false">
<Option v-for="item in commodityTypeList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</FormItem>
验证规则如下:
ruleEdit: {
commodityType: [
{ required: true, message: '请选择商品分类', trigger: 'blur' }
]
}
但是每次下拉框输入值以后点击提交都会触发验证规则。查阅资料后发现Form的校验有如下规则:由于 Form 的校验内置了 async-validator,而它会给每个字段加一个默认的值为 string 的 type 规则,即默认情况下字段必须是字符串型。
而我的下拉框的value值是id,不是String类型,所以验证规则需要修改。
ruleEdit: {
commodityType: [
{ required: true, message: '请选择商品分类', trigger: 'change', type:'number' }
]
}
问题解决。