2025-03-18 11:01:06 +08:00
|
|
|
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`),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-06-25 10:18:20 +08:00
|
|
|
if (name.length > 255) {
|
|
|
|
return {
|
|
|
|
errorMsg: t(`${i18nPrefix}.tooLong`, { max: 255 }),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-03-18 11:01:06 +08:00
|
|
|
return {
|
|
|
|
errorMsg: '',
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default useCheckMetadataName
|