Bonjour à tous.
J'ai un formulaire qui doit être rempli en plusieurs langues et dont les champs peuvent varier selon les langues.
Par exemple, mon formulaire en francais, langue par défaut, contient les champs génériques "nom", "description", "catégorie". J'effectue des contrôles sur ces 3 champs pour vérifier s'ils sont bien remplis.
Le processus du formulaire est le suivant.
En premier, le formulaire est en francais et l'on doit renseigner les 3 champs. Une fois validé, les données francaises sont enregistrées et l'on revient sur le formulaire pour le remplir en anglais. Sauf que l'anglais n'étant pas pour moi la langue par défaut, je n'ai que les champs "nom" et "description" à remplir, le champs "catégorie" n'étant plus visible.
Au niveau de ma vérification de remplissage des champs, j'ai donc 3 champs à contrôler en francais et seulement 2 pour l'anglais. Je rappelle que mon formulaire est le même quelque soit la langue à remplir.
Pour le moment, je procède comme suit pour effectuer les vérifications:
Etape 1:
if($lang==$langue_par_defaut){
$if_ko=$nom=='' || $description=='' || $categorie=='';
$if_ok=$nom!='' && $description!='' && $categorie!='';
} else {
$if_ko=$nom=='' || $description=='';
$if_ok=$nom!='' && $description!='';
}
Etape 2:
if($if_ko){
//je met mes conditions genre, si $nom est égal à rien, alors $message_erreur1="vous n'avez pas renseigné de nom"; etc...
} elseif($if_ok){
//j'enregistre les infos en bdd
}
La question que je me pose, c'est: Y aurait il un moyen dans l'étape 1 de ne déclarer que les éléments qui viendront en plus de la vérification commune à toutes les langues plutôt que de réecrire à chaque fois tous les conditions?
J'ai essayé certaines choses sans résultats concluants.
Merci.
Bonjour à tous.
J'ai un formulaire qui doit être rempli en plusieurs langues et dont les champs peuvent varier selon les langues.
Par exemple, mon formulaire en francais, langue par défaut, contient les champs génériques "nom", "description", "catégorie". J'effectue des contrôles sur ces 3 champs pour vérifier s'ils sont bien remplis.
Le processus du formulaire est le suivant.
En premier, le formulaire est en francais et l'on doit renseigner les 3 champs. Une fois validé, les données francaises sont enregistrées et l'on revient sur le formulaire pour le remplir en anglais. Sauf que l'anglais n'étant pas pour moi la langue par défaut, je n'ai que les champs "nom" et "description" à remplir, le champs "catégorie" n'étant plus visible.
Au niveau de ma vérification de remplissage des champs, j'ai donc 3 champs à contrôler en francais et seulement 2 pour l'anglais. Je rappelle que mon formulaire est le même quelque soit la langue à remplir.
Pour le moment, je procède comme suit pour effectuer les vérifications:
Etape 1:
[php]
if($lang==$langue_par_defaut){
$if_ko=$nom=='' || $description=='' || $categorie=='';
$if_ok=$nom!='' && $description!='' && $categorie!='';
} else {
$if_ko=$nom=='' || $description=='';
$if_ok=$nom!='' && $description!='';
}
[/php]
Etape 2:
[php]
if($if_ko){
//je met mes conditions genre, si $nom est égal à rien, alors $message_erreur1="vous n'avez pas renseigné de nom"; etc...
} elseif($if_ok){
//j'enregistre les infos en bdd
}
[/php]
La question que je me pose, c'est: Y aurait il un moyen dans l'étape 1 de ne déclarer que les éléments qui viendront en plus de la vérification commune à toutes les langues plutôt que de réecrire à chaque fois tous les conditions?
J'ai essayé certaines choses sans résultats concluants.
Merci.