element form表单校验问题

问题
在使用element form表单时,表格表单,表格如下:
element form表单校验问题_第1张图片
校验规则如下

<el-form-item :rules="activityVoList.checkedServerList" :prop="'activityVoList.' + scope.$index + '.checkedServerList'" label-width="0">
                            <el-checkbox-group v-model="scope.row.checkedServerList">
                                <el-checkbox v-for="item in service[scope.$index]" :key="item.service_name" :label="item.service_name" @change="handleChange">{{ item.service_name }}</el-checkbox>
                            </el-checkbox-group>
                        </el-form-item>



activityVoList:{
                    checkedServerList:[
                        { type: 'array', required: true, message: '请至少选择一项服务', trigger: 'change' },
                        {validator:validatecheck,trigger: 'change'}
                    ],
                },

const validatecheck=(rule,value,callback)=>{
                debugger
                console.log(rule)
                console.log(value)
                callback();
            }

但是这样写,进不了校验规则方法,按以下修改后,可以进校验规则方法:

<el-form-item
                                :rules="[
                                    {type:'array',validator:(rule,value,callback)=>{validCheckedServer(rule,value,callback)} , trigger: 'change' },
                                ]"
                                :prop="'activityVoList.' + scope.$index + '.checkedServerList'" label-width="0">
                            <el-checkbox-group v-model="scope.row.checkedServerList">
                                <el-checkbox v-for="item in service[scope.$index]" :key="item.service_name" :label="item.service_name" @change="handleChange">{{ item.service_name }}</el-checkbox>
                            </el-checkbox-group>
                        </el-form-item>

这样修改后可以进校验规则方法,但是取到的’value’值为undefined,
没找到原因,无奈只能手动取到需要校验的值,然后进行校验,

你可能感兴趣的:(前端)