一:提交表单,遇到简单对象构造的验证,比如说:

示例图

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>