|
|
|
@@ -19,6 +19,7 @@ import { openAntdModal } from '@/utils/modal'; |
|
|
|
import { to } from '@/utils/promise'; |
|
|
|
import { INode } from '@antv/g6'; |
|
|
|
import { Button, Drawer, Form, Input, MenuProps } from 'antd'; |
|
|
|
import { RuleObject } from 'antd/es/form'; |
|
|
|
import { NamePath } from 'antd/es/form/interface'; |
|
|
|
import { forwardRef, useImperativeHandle, useState } from 'react'; |
|
|
|
import PropsLabel from '../PropsLabel'; |
|
|
|
@@ -309,16 +310,41 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
// 模型部署-服务版本验证 |
|
|
|
const serviceVersionValidator = (_rule: RuleObject, value: any) => { |
|
|
|
// 输入参数值都是对象,如果是手动输入,要求 /^[a-zA-Z0-9._-]+$/ |
|
|
|
if ( |
|
|
|
typeof value === 'object' && |
|
|
|
value && |
|
|
|
!value.fromSelect && |
|
|
|
value.value && |
|
|
|
!/^[a-zA-Z0-9._-]+$/.test(value.value) |
|
|
|
) { |
|
|
|
return Promise.reject('服务版本只支持字母、数字、点(.)、下划线(_)、中横线(-)'); |
|
|
|
} |
|
|
|
|
|
|
|
return Promise.resolve(); |
|
|
|
}; |
|
|
|
|
|
|
|
// 必填项校验规则 |
|
|
|
const getFormRules = (item: { key: string; value: PipelineNodeModelParameter }) => { |
|
|
|
return item.value.require |
|
|
|
const id = form.getFieldValue('id') as string; |
|
|
|
const rules = item.value.require |
|
|
|
? [ |
|
|
|
{ |
|
|
|
validator: requiredValidator, |
|
|
|
message: '必填项', |
|
|
|
}, |
|
|
|
] |
|
|
|
: []; |
|
|
|
|
|
|
|
// 模型部署-服务版本验证 |
|
|
|
if (id.startsWith('model-deploy') && item.key === '--version') { |
|
|
|
rules.push({ |
|
|
|
validator: serviceVersionValidator, |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
return rules; |
|
|
|
}; |
|
|
|
|
|
|
|
// 控制策略 |
|
|
|
|