Question

Je cherchais sur Internet mais je n'ai pas pu trouver de réponse à mon problème. J'utilise l'assistance Codeigniter Form_Validation.

Je veux dire à l'utilisateur dans quel champ de saisie il a commis une erreur en colorant ce champ de saisie par exemple rouge.

Voici un exemple comment je fais des champs d'entrée

echo form_input($field, set_value($field));

Et dans le contrôleur

$this->form_validation->set_rules($field, $field,'required|trim|xss_clean|callback_check_numbers');

$this->form_validation->set_message('check_numbers', '<script tpye="text/javascript">alert("Only numbers and dots are allowed");</script>');

Au lieu de cette alerte, je veux peindre le champ de saisie rouge. Mais si j'essaie d'inclure un style au lieu de cette alerte, rien ne se passe, car CI l'écrit avant même de mettre de l'en-tête dans le fichier, puis tous les styles d'erreur sont perdus avec l'inclusion du fichier CSS. Existe-t-il un moyen d'obtenir l'ID de champ du champ où l'erreur s'est produite? Et comment pourrais-je peindre l'entrée en rouge avec par exemple, jQuery?

Merci.

Était-ce utile?

La solution

Ce que vous recherchez, c'est que "dans la page Voir":

    <?php
    if (form_error($field)) {
    echo form_input($field, set_value($field), 'style="border:1px solid #ff0000"');
   } else {
      echo form_input($field, set_value($field));
     }
?>

Mais je préfère que vous ne générez pas de champs mais que vous les notez en tant que champ HTML, cela vous donnerait plus de flexibilité à manipuler vos champs en utilisant PHP en ligne, et serait quelque chose comme ça:

    <input name="field" <?php if (form_error('field')) {?> style="border:1px solid #ff0000" <?php } ?> type="text" value="<?php echo set_value('field'); ?>">

Autres conseils

Au lieu de validation du formulaire Codeigniter, vous pouvez utiliser la validation du formulaire jQuery. En utilisant cela, vous pouvez peindre votre entrée en rouge à l'aide de "Highlight".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top