mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-06 17:30:25 +08:00
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
|
|
import { useI18nPleaseInput, useI18nPleaseSelect } from '@/hooks/useI18n';
|
||
|
|
import { i18n } from '@/i18n';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 表单验证规则
|
||
|
|
* label: 支持 i18n key
|
||
|
|
*/
|
||
|
|
export const Rules = {
|
||
|
|
requiredInput: (label: string = '', trigger: string[] = ['change', 'blur']) => {
|
||
|
|
return {
|
||
|
|
required: true,
|
||
|
|
message: useI18nPleaseInput(label),
|
||
|
|
trigger: trigger,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
|
||
|
|
requiredSelect: (label: string = '', trigger: string[] = ['change', 'blur']) => {
|
||
|
|
return {
|
||
|
|
required: true,
|
||
|
|
message: useI18nPleaseSelect(label),
|
||
|
|
trigger: trigger,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
|
||
|
|
accountUsername: {
|
||
|
|
pattern: /^[a-zA-Z0-9_]{5,16}$/g,
|
||
|
|
message: i18n.global.t('system.account.usernamePatternErrMsg'),
|
||
|
|
trigger: 'blur',
|
||
|
|
},
|
||
|
|
accountPassword: {
|
||
|
|
pattern: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[`~!@#$%^&*()_+<>?:"{},.\/\\;'[\]])[A-Za-z\d`~!@#$%^&*()_+<>?:"{},.\/\\;'[\]]{8,}$/,
|
||
|
|
message: i18n.global.t('login.passwordRuleTip'),
|
||
|
|
trigger: 'blur',
|
||
|
|
},
|
||
|
|
|
||
|
|
resourceCode: {
|
||
|
|
pattern: /^[a-zA-Z0-9_\-.:]{1,32}$/g,
|
||
|
|
message: i18n.global.t('system.menu.resourceCodePatternErrMsg'),
|
||
|
|
trigger: 'blur',
|
||
|
|
},
|
||
|
|
};
|