dify/web/app/components/datasets/metadata/hooks/use-check-metadata-name.ts
-LAN- c7ee0f2a93
fix(knowledge_base): Unchecked metadata name length (#21454)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-06-25 10:18:20 +08:00

35 lines
667 B
TypeScript

import { useTranslation } from 'react-i18next'
const i18nPrefix = 'dataset.metadata.checkName'
const useCheckMetadataName = () => {
const { t } = useTranslation()
return {
checkName: (name: string) => {
if (!name) {
return {
errorMsg: t(`${i18nPrefix}.empty`),
}
}
if (!/^[a-z][a-z0-9_]*$/.test(name)) {
return {
errorMsg: t(`${i18nPrefix}.invalid`),
}
}
if (name.length > 255) {
return {
errorMsg: t(`${i18nPrefix}.tooLong`, { max: 255 }),
}
}
return {
errorMsg: '',
}
},
}
}
export default useCheckMetadataName