generateur_v3/frontend/src/utils/forms.ts

33 lines
1.0 KiB
TypeScript

export const errorMsg = (
form: {
dirty: boolean;
valid: boolean;
errors: string[];
hasError: (s: string) => boolean;
},
name: string
): string[] => {
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',
form.hasError(`${name}.match_field`) && 'Les champs ne correspondent pas',
form.hasError(`${name}.not`) && 'Valeur impossible',
form.hasError(`${name}.pattern`) && 'Un chiffre et une majuscule obligatoire',
].filter((r) => typeof r === 'string') as string[];
};
export const checkFile = () => {
return async (value: Array<File>) => {
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' };
};
};