校验电话
<el-form-item
label="联系电话(手机):"
prop="baseIphone"
:rules="[
{ required: true, message: '请输入手机号码', trigger: 'change' },
{ validator: checkPhone, trigger: 'change' },
]"
>
<el-input
v-model="editForm.baseIphone"
auto-complete="off"
placeholder="请输入联系电话(手机)"
></el-input>
</el-form-item>
methods: {
checkPhone(rule, value, callback) {
if (!/^1[34578]\d{9}$/.test(value)) {
callback(new Error("请输入正确的手机号码!"));
}
},
}
校验身份证号
<el-form-item
label="身份证号:"
prop="baseIdNum"
:rules="[
{ required: true, message: '请填写证件号码', trigger: 'change' },
{ validator: checkIdentity, trigger: 'change' },
]"
>
<el-input
v-model="editForm.baseIdNum"
auto-complete="off"
placeholder="请输入身份证号"
></el-input>
</el-form-item>
methods: {
checkIdentity (rule, value, callback) {
if (
!/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/.test(
value
)
) {
callback(new Error("请输入正确的证件号码!"));
}
},
}
校验多个prop
方式可能比较简单粗暴
直接套了多个el-form-item,然后调了一下样式
<el-form-item label="户口所在地:" prop="baseDomicilePlaceProvince"> //单独写prop
<div class="Address" style="display: flex; margin-bottom: -10px">
<el-form-item //第一个可以不写 直接写到上一级
><el-select
v-model="editForm.baseDomicilePlaceProvince"
filterable
clearable
placeholder="请选择省"
@change="changePlaceProvince"
>
<el-option
v-for="item in AllProvinceList"
:key="item.chinaId"
:label="item.chinaName"
:value="item.chinaId"
>
</el-option> </el-select
></el-form-item>
<el-form-item prop="baseDomicilePlaceCity" //单独写prop
><el-select
v-model="editForm.baseDomicilePlaceCity"
filterable
placeholder="请选择市"
clearable
@change="changePlaceCity"
>
<el-option
v-for="item in AllCityList"
:key="item.chinaId"
:label="item.chinaName"
:value="item.chinaId"
>
</el-option> </el-select
></el-form-item>
<el-form-item prop="baseDomicilePlaceCounty" //单独写prop
><el-select
v-model="editForm.baseDomicilePlaceCounty"
filterable
clearable
placeholder="请选择县或区"
v-if="noHaveCount"
>
<el-option
v-for="item in AllDistrictList"
:key="item.chinaId"
:label="item.chinaName"
:value="item.chinaId"
>
</el-option> </el-select
></el-form-item>
</div>
</el-form-item>