refactoring majeur (code dupliqué, mort, ...)
- Économie : ~1240 lignes de code dupliqué - Réduction : ~60% du code modal - Amélioration : Cohérence et maintenabilité
This commit is contained in:
30
src/lib/form-utils.ts
Normal file
30
src/lib/form-utils.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Utilitaires centralisés pour la gestion des formulaires
|
||||
*/
|
||||
|
||||
export function handleFormError(err: any, operation: string): string {
|
||||
const errorMessage = err?.message || err?.details || `Erreur lors de ${operation}`;
|
||||
console.error(`Erreur lors de ${operation}:`, err);
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
export function validateRequiredFields(data: Record<string, any>, requiredFields: string[]): string[] {
|
||||
const errors: string[] = [];
|
||||
|
||||
for (const field of requiredFields) {
|
||||
if (!data[field] || (typeof data[field] === 'string' && data[field].trim() === '')) {
|
||||
errors.push(`Le champ "${field}" est requis`);
|
||||
}
|
||||
}
|
||||
|
||||
return errors;
|
||||
}
|
||||
|
||||
export function validateEmail(email: string): boolean {
|
||||
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||
return emailRegex.test(email);
|
||||
}
|
||||
|
||||
export function formatErrorMessage(errors: string[]): string {
|
||||
return errors.join('. ');
|
||||
}
|
||||
Reference in New Issue
Block a user