2023-01-27 21:41:08 +01:00
|
|
|
export const errorMsg = (
|
|
|
|
form: {
|
|
|
|
dirty: boolean;
|
|
|
|
valid: boolean;
|
|
|
|
errors: string[];
|
|
|
|
hasError: (s: string) => boolean;
|
|
|
|
},
|
|
|
|
name: string
|
|
|
|
): string[] => {
|
2023-02-28 10:21:08 +01:00
|
|
|
|
2023-01-27 21:41:08 +01:00
|
|
|
return [
|
|
|
|
form.hasError(`${name}.required`) && 'Champ requis',
|
|
|
|
form.hasError(`${name}.min`) && 'Trop court',
|
|
|
|
form.hasError(`${name}.max`) && 'Trop long',
|
|
|
|
form.hasError(`${name}.url`) && 'Pas bonne url',
|
|
|
|
form.hasError(`${name}.between`) && 'Pas valide',
|
2023-02-22 12:43:39 +01:00
|
|
|
form.hasError(`${name}.match_field`) && 'Les champs ne correspondent pas',
|
2023-01-27 21:41:08 +01:00
|
|
|
form.hasError(`${name}.not`) && 'Valeur impossible',
|
2023-02-22 12:43:39 +01:00
|
|
|
form.hasError(`${name}.pattern`) && 'Un chiffre et une majuscule obligatoire',
|
2023-01-27 21:41:08 +01:00
|
|
|
].filter((r) => typeof r === 'string') as string[];
|
|
|
|
};
|
|
|
|
|
|
|
|
export const checkFile = () => {
|
|
|
|
return async (value: Array<File>) => {
|
2023-02-28 10:21:08 +01:00
|
|
|
|
2023-01-27 21:41:08 +01:00
|
|
|
if (value.length == 0) {
|
|
|
|
return { valid:false, name: 'required' };
|
|
|
|
}
|
|
|
|
const name = value[0].name.split('.');
|
|
|
|
const ext = name[name.length - 1];
|
|
|
|
return { valid: value[0].type == 'text/x-python' && ext == 'py', name: 'extension' };
|
|
|
|
};
|
|
|
|
};
|