8/6 校验问题

This commit is contained in:
Zy
2026-08-06 09:09:53 +08:00
parent 494b7869ea
commit 40196737d3
23 changed files with 242 additions and 106 deletions

View File

@@ -79,7 +79,17 @@ const form = ref({
const rules = {
houseId: [{ required: true, message: '请选择具体房屋', trigger: 'blur' }],
applyName: [{ required: true, message: '请输入申请人', trigger: 'blur' }],
applyName: [
{ required: true, message: '请输入申请人', trigger: 'blur' },
{
validator: (_: any, value: string | number, callback: any) => {
if (value === '' || value === undefined) {
return callback(new Error('请输入申请人姓名'));
}
return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的申请人姓名'));
}
}
],
decorationCompany: [
{ required: true, message: '请输入装修公司名称', trigger: 'blur' },
{

View File

@@ -4,11 +4,11 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form label-width="120px" ref="queryFormRef" :model="queryParams" :inline="true">
<el-form label-width="120px" ref="queryFormRef" :rules="rules" :model="queryParams" :inline="true">
<el-form-item label="申请人姓名" prop="applyName">
<el-input maxlength="20" v-model="queryParams.applyName" placeholder="请输入申请人姓名" clearable @keyup.enter="handleQuery" />
<el-input maxlength="20" v-model.trim="queryParams.applyName" placeholder="请输入申请人姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="装修验收结果" prop="inspectionResult">
<el-form-item label="装修验收结果">
<el-select clearable @clear="handleClear" v-model="queryParams.inspectionResult" placeholder="请选择装修验收结果" style="width: 240px">
<el-option v-for="item in com_decoration_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
@@ -108,7 +108,7 @@
</el-select>
</el-form-item>
<el-form-item label="验收人" :prop="isEditComputed ? '' : 'inspectionName'">
<el-input :disabled="isEditComputed" v-model="form.inspectionName" />
<el-input :disabled="isEditComputed" placeholder="请输入验收人" v-model.trim="form.inspectionName" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
@@ -136,6 +136,7 @@
import { listDecoration, delDecoration, updateDecoration } from '@/api/system/Decoration';
import { DecorationVO, DecorationQuery, DecorationForm } from '@/api/system/Decoration/type';
import { checkPermi } from '@/utils/permission';
import { validator } from '@/utils/Reg';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_decoration_status } = toRefs<any>(proxy?.useDict('com_decoration_status'));
@@ -185,7 +186,28 @@ const data = reactive<PageData<DecorationForm, DecorationQuery>>({
params: {}
},
rules: {
inspectionName: [{ required: true, message: '验收人姓名不能为空', trigger: 'blur' }],
inspectionName: [
{ required: true, message: '验收人姓名不能为空', trigger: 'blur' },
{
validator: (_: any, value: string | number, callback: any) => {
if (value === '' || value === '') {
return callback(new Error('请输入验收人姓名'));
}
return validator(value, 'ChineseName') ? callback() : callback(new Error('请输入正确的验收人姓名'));
}
}
],
applyName: [
{ required: false, message: '申请人姓名不能为空', trigger: 'blur' },
{
validator: (_: any, value: string | number, callback: any) => {
if (value === '' || value === undefined) {
return callback();
}
return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的申请人姓名'));
}
}
],
inspectionResult: [{ required: true, message: '验收结果不能为空', trigger: 'blur' }]
}
});