一:提交表单,遇到简单对象构造的验证,比如说:
示例图
1. 对象中蕴含一个数组,外面有多个对象
2. 对象中蕴含一个对象
总结来说:
其余的单纯的对象字段,仍旧写在 :rules="rules"
外面,简单构造的独自写在 el-form-item
标签里
template
/** 对象中的数据对象字段验证 多余代码省略 & 只验证非空**/<div v-for="(item, index) in addForm.cargoList" :key="item.cargoName"> <el-form-item label="货品名称" :prop="`cargoList[${index}].cargoName`" :rules="[{required: true,message: '不能为空'}]"> 本人封装的组件代码省略... </el-form-item></div>
template
/** 对象中对象字段验证 多余代码省略 & 验证非空+validator & 两个相互影响的字段 其中 TEST_VEHICLE_NO 为车牌验证规定 省略**/<el-form-item label="车牌号" prop="scheduleInfo.vehicleNo" :rules="[{required: true,message: '不能为空'},{validator: TEST_VEHICLE_NO, trigger: 'blur'}]" class="import-label"> 本人封装的组件代码省略...</el-form-item><el-form-item label="挂车车牌" prop="scheduleInfo.trailerPlateNo" :rules="addForm.scheduleInfo.vehicleNo.match(/挂/) ? [{required: true,message: '不能为空'},{validator: TEST_VEHICLE_NO, trigger: 'blur'}] : null "> 本人封装的组件代码省略...</el-form-item>
二: label妙用空格
示例图
为什么会在label中用空格?
图上的款式应用了 <el-row> <el-col :span="数字"></el-col></el-row>
两行相相似的字段组件统一,调配的 width
统一, 但因为下面一行有非空验证,导致高低两行无奈对齐,集体备受煎熬。因为组件有长有短,不能等分,空格的妙用就呈现了!!
template
<el-col :span="4"> <el-form-item :label="`\xa0\xa0收货人名称`" prop="consignee"> 本人封装的组件代码省略... </el-form-item></el-col>