feat(web): start/chat variable name cannot be duplicated

This commit is contained in:
zhaoying
2026-04-09 22:42:27 +08:00
parent 6f1bb43eab
commit 0e60da6d8a
6 changed files with 25 additions and 5 deletions

View File

@@ -45,6 +45,7 @@ const array_object_placeholder = `# example
interface ChatVariableModalProps {
refresh: (value: ChatVariable, editIndex?: number) => void;
variables?: ChatVariable[];
}
const types = [
@@ -61,7 +62,8 @@ const types = [
]
const ChatVariableModal = forwardRef<ChatVariableModalRef, ChatVariableModalProps>(({
refresh
refresh,
variables
}, ref) => {
const { t } = useTranslation();
const uploadFileListModalRef = useRef<UploadFileListModalRef>(null);
@@ -244,6 +246,12 @@ const ChatVariableModal = forwardRef<ChatVariableModalRef, ChatVariableModalProp
rules={[
{ required: true, message: t('common.pleaseEnter') },
{ pattern: /^[a-zA-Z_][a-zA-Z0-9_]*$/, message: t('workflow.config.parameter-extractor.invalidParamName') },
{
validator: (_, value) => {
const duplicate = variables?.some((v, i) => v.name === value && i !== editIndex);
return duplicate ? Promise.reject(t('workflow.config.duplicateName')) : Promise.resolve();
}
},
]}
>
<Input placeholder={t('common.enter')} />