* Copyright (c) 2022 - present TinyVue Authors.
* Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
type TranslateFunction = (value: string) => string
const getTypesObj = (translate: TranslateFunction) => ({
string: translate('validation.types.string'),
method: translate('validation.types.method'),
array: translate('validation.types.array'),
object: translate('validation.types.object'),
number: translate('validation.types.number'),
date: translate('validation.types.date'),
boolean: translate('validation.types.boolean'),
integer: translate('validation.types.integer'),
float: translate('validation.types.float'),
regexp: translate('validation.types.regexp'),
email: translate('validation.types.email'),
url: translate('validation.types.url'),
hex: translate('validation.types.hex'),
digits: translate('validation.types.digits'),
time: translate('validation.types.time'),
dateYM: translate('validation.types.dateYM'),
dateYMD: translate('validation.types.dateYMD'),
dateTime: translate('validation.types.dateTime'),
longDateTime: translate('validation.types.longDateTime'),
version: translate('validation.types.version'),
speczh: translate('validation.types.speczh'),
specialch: translate('validation.types.specialch'),
specialch2: translate('validation.types.hex'),
acceptImg: translate('validation.types.acceptImg'),
acceptFile: translate('validation.types.acceptFile'),
fileSize: translate('validation.types.fileSize')
})
export default (translate: TranslateFunction = (value: string) => value) => ({
default: translate('validation.default'),
required: translate('validation.required'),
enum: translate('validation.enum'),
whitespace: translate('validation.whitespace'),
date: {
format: translate('validation.date.format'),
parse: translate('validation.date.parse'),
invalid: translate('validation.date.invalid')
},
types: getTypesObj(translate),
string: {
len: translate('validation.string.len'),
min: translate('validation.string.min'),
max: translate('validation.string.max'),
range: translate('validation.string.range')
},
number: {
len: translate('validation.number.len'),
min: translate('validation.number.min'),
max: translate('validation.number.max'),
range: translate('validation.number.range')
},
array: {
len: translate('validation.array.len'),
min: translate('validation.array.min'),
max: translate('validation.array.max'),
range: translate('validation.array.range')
},
pattern: {
mismatch: translate('validation.pattern.mismatch')
}
})