fix(@vben/web-antdv-next): 修复FormItem rules为数组形式

pull/364/head
XuZhiqiang 2026-06-18 16:22:02 +08:00
parent af681338c7
commit d8c8775af2
7 changed files with 147 additions and 105 deletions

View File

@ -464,11 +464,13 @@ onMounted(async () => {
<div class="mr-2">
<FormItem
:name="['inVariables', index, 'source']"
:rules="{
required: true,
message: '变量不能为空',
trigger: 'blur',
}"
:rules="[
{
required: true,
message: '变量不能为空',
trigger: 'blur',
},
]"
>
<Select class="!w-40" v-model:value="item.source">
<SelectOption
@ -484,11 +486,13 @@ onMounted(async () => {
<div class="mr-2">
<FormItem
:name="['inVariables', index, 'target']"
:rules="{
required: true,
message: '变量不能为空',
trigger: 'blur',
}"
:rules="[
{
required: true,
message: '变量不能为空',
trigger: 'blur',
},
]"
>
<Select class="!w-40" v-model:value="item.target">
<SelectOption
@ -534,11 +538,13 @@ onMounted(async () => {
<div class="mr-2">
<FormItem
:name="['outVariables', index, 'source']"
:rules="{
required: true,
message: '变量不能为空',
trigger: 'blur',
}"
:rules="[
{
required: true,
message: '变量不能为空',
trigger: 'blur',
},
]"
>
<Select class="!w-40" v-model:value="item.source">
<SelectOption
@ -554,11 +560,13 @@ onMounted(async () => {
<div class="mr-2">
<FormItem
:name="['outVariables', index, 'target']"
:rules="{
required: true,
message: '变量不能为空',
trigger: 'blur',
}"
:rules="[
{
required: true,
message: '变量不能为空',
trigger: 'blur',
},
]"
>
<Select class="!w-40" v-model:value="item.target">
<SelectOption
@ -795,11 +803,13 @@ onMounted(async () => {
label-align="left"
:label-col="{ span: 6 }"
:wrapper-col="{ span: 12 }"
:rules="{
required: true,
message: '固定数量不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '固定数量不能为空',
trigger: 'change',
},
]"
>
<InputNumber
v-model:value="configForm.multiInstanceSource"
@ -816,11 +826,13 @@ onMounted(async () => {
label-align="left"
:label-col="{ span: 6 }"
:wrapper-col="{ span: 12 }"
:rules="{
required: true,
message: '数字表单字段不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '数字表单字段不能为空',
trigger: 'change',
},
]"
>
<Select v-model:value="configForm.multiInstanceSource">
<SelectOption
@ -843,11 +855,13 @@ onMounted(async () => {
label-align="left"
:label-col="{ span: 6 }"
:wrapper-col="{ span: 12 }"
:rules="{
required: true,
message: '多选表单字段不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '多选表单字段不能为空',
trigger: 'change',
},
]"
>
<Select v-model:value="configForm.multiInstanceSource">
<SelectOption

View File

@ -224,11 +224,13 @@ defineExpose({ validate });
rIdx,
'leftSide',
]"
:rules="{
required: true,
message: '左值不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '左值不能为空',
trigger: 'change',
},
]"
>
<Select
v-model:value="rule.leftSide"
@ -276,11 +278,13 @@ defineExpose({ validate });
rIdx,
'rightSide',
]"
:rules="{
required: true,
message: '右值不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '右值不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input
v-model:value="rule.rightSide"

View File

@ -65,11 +65,13 @@ function deleteHttpRequestParam(arr: HttpRequestParam[], index: number) {
<Col :span="7">
<FormItem
:name="[bind, 'header', index, 'key']"
:rules="{
required: true,
message: '参数名不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '参数名不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input placeholder="参数名不能为空" v-model:value="item.key" />
</FormItem>
@ -89,22 +91,26 @@ function deleteHttpRequestParam(arr: HttpRequestParam[], index: number) {
<Col :span="10">
<FormItem
:name="[bind, 'header', index, 'value']"
:rules="{
required: true,
message: '参数值不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '参数值不能为空',
trigger: ['blur', 'change'],
},
]"
v-if="item.type === BpmHttpRequestParamTypeEnum.FIXED_VALUE"
>
<Input placeholder="请求头" v-model:value="item.value" />
</FormItem>
<FormItem
:name="[bind, 'header', index, 'value']"
:rules="{
required: true,
message: '参数值不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '参数值不能为空',
trigger: 'change',
},
]"
v-if="item.type === BpmHttpRequestParamTypeEnum.FROM_FORM"
>
<Select v-model:value="item.value" placeholder="请选择表单字段">
@ -150,11 +156,13 @@ function deleteHttpRequestParam(arr: HttpRequestParam[], index: number) {
<Col :span="7">
<FormItem
:name="[bind, 'body', index, 'key']"
:rules="{
required: true,
message: '参数名不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '参数名不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input placeholder="参数名" v-model:value="item.key" />
</FormItem>
@ -174,22 +182,26 @@ function deleteHttpRequestParam(arr: HttpRequestParam[], index: number) {
<Col :span="10">
<FormItem
:name="[bind, 'body', index, 'value']"
:rules="{
required: true,
message: '参数值不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '参数值不能为空',
trigger: ['blur', 'change'],
},
]"
v-if="item.type === BpmHttpRequestParamTypeEnum.FIXED_VALUE"
>
<Input placeholder="参数值" v-model:value="item.value" />
</FormItem>
<FormItem
:name="[bind, 'body', index, 'value']"
:rules="{
required: true,
message: '参数值不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '参数值不能为空',
trigger: 'change',
},
]"
v-if="item.type === BpmHttpRequestParamTypeEnum.FROM_FORM"
>
<Select v-model:value="item.value" placeholder="请选择表单字段">

View File

@ -79,11 +79,13 @@ function deleteHttpResponseSetting(
:label-col="{ span: 24 }"
:wrapper-col="{ span: 24 }"
:name="[formItemPrefix, 'url']"
:rules="{
required: true,
message: '请求地址不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '请求地址不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input v-model:value="setting.url" placeholder="请输入请求地址" />
</FormItem>
@ -117,11 +119,13 @@ function deleteHttpResponseSetting(
<Col :span="10">
<FormItem
:name="[formItemPrefix, 'response', index, 'key']"
:rules="{
required: true,
message: '表单字段不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '表单字段不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Select
v-model:value="item.key"
@ -143,11 +147,13 @@ function deleteHttpResponseSetting(
<Col :span="12">
<FormItem
:name="[formItemPrefix, 'response', index, 'value']"
:rules="{
required: true,
message: '请求返回字段不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '请求返回字段不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input v-model:value="item.value" placeholder="请求返回字段" />
</FormItem>

View File

@ -90,11 +90,13 @@ defineExpose({ validate });
<FormItem
label="请求地址"
:name="`task${listener.type}ListenerPath`"
:rules="{
required: true,
message: '请求地址不能为空',
trigger: ['blur', 'change'],
}"
:rules="[
{
required: true,
message: '请求地址不能为空',
trigger: ['blur', 'change'],
},
]"
>
<Input
v-model:value="configForm[`task${listener.type}ListenerPath`]"

View File

@ -237,11 +237,13 @@ defineExpose({ openDrawer }); // 暴露方法给父组件
<FormItem
class="mb-0 ml-4 inline-block w-48"
:name="['routerGroups', index, 'nodeId']"
:rules="{
required: true,
message: '路由目标节点不能为空',
trigger: 'change',
}"
:rules="[
{
required: true,
message: '路由目标节点不能为空',
trigger: 'change',
},
]"
>
<Select
v-model:value="item.nodeId"

View File

@ -528,11 +528,13 @@ onMounted(() => {
<Col :span="10">
<FormItem
:name="['formSettings', index, 'updateFormFields', key]"
:rules="{
required: true,
message: '值不能为空',
trigger: 'blur',
}"
:rules="[
{
required: true,
message: '值不能为空',
trigger: 'blur',
},
]"
>
<Input
v-model:value="formSetting.updateFormFields![key]"