40 votes

Une bibliothèque de création et de validation de formulaires PHP et jQuery est-elle disponible?

Question D'Origine

Est-il bien testé et de préférence mature bibliothèque pour la création de formulaires en PHP avec à la fois côté client (c'est là que le jQuery vient) et côté serveur de validation?

Idéalement, le formulaire devra être générée à partir des classes PHP ou écrit en tant que HTML et analysé ala Agavi. Le bon jQuery crochets serait alors automatiquement créé par la bibliothèque de sorte que le inclus jQuery la validation côté client peut s'exécuter.

L'un des emplois que je fais régulièrement est une variation sur le bon vieux formulaire de contact et je tiens à standardiser ce travail afin que je puisse trot le même code de bonnes pratiques à chaque fois. Avec cela à l'esprit le code HTML généré par les classes PHP devrait être assez bon pour que extra CSS crochets peuvent être ajoutées si nécessaire etc.

Toutes les suggestions reçues avec reconnaissance.


Mise à jour

J'ai été peignage à travers et à examiner les options que j'ai trouvé et que d'autres ont suggéré ci-dessous et à l'instant, je dirais que les projets dans l'ordre suivant pour la qualité de la petite quantité d'essais et de recherche que j'ai fait sur eux tous.

  1. ValidForm Builder
  2. jFormer
  3. HTML_QuickForm2 (si vous pouvez bénéficier de la validation côté client travail alors cela devrait sauter plus haut que jFormer!)
  4. php-formulaire-constructeur de la classe
  5. L'Utilisation De Symfony! (tout un framework MVC pour l'affichage du formulaire et de la validation est overkill)

Je suis toujours pas convaincu par aucune des options pour être honnête, et je suis sorti en me demandant pourquoi les gens qui s'embarquent sur ces projets ne pas commencer avec quelques solides et bien des composants testés. Par exemple, j'aurais pensé à une combinaison de:

Cela vous donne une bonne stabilité de travailler et de produire une belle bibliothèque sur le dessus de composants testés.

Aussi, si vous êtes intéressé dans une bibliothèque qui analyse votre code HTML plutôt que de générer le code HTML à partir d'une classe PHP, j'ai trouvé un projet appelé Minacl. Comme le Agavi option je l'ai mentionné dans la question d'origine.

16voto

Tokk Points 2705

Vous pouvez utiliser ValidForm Builder. Il correspond parfaitement à votre exigences: Avec elle, vous pouvez définir des Formes avec des règles de validation en PHP, et il génère les Formulaires avec jQuery et la validation côté client.

Liste des fonctionnalités (prises à partir de leur site):

  • L'API génère XHTML 1.0 Strict code compatible.
  • Champ de la validation côté client afin de minimiser les frais généraux du trafic.
  • La validation de champ sur le côté serveur pour appliquer les règles de validation et de prévenir la trempe avec la forme par injection SQL.
  • La validation côté Client affiche en ligne pour améliorer la satisfaction de l'utilisateur. Pas plus de popups ennuyeux qui ne sont pas vraiment vous dire quoi que ce soit.
  • Création facile de former des structures complexes.
  • Utilise la populaire jQuery Javascript library pour la manipulation du DOM.
  • Complètement personnalisable à l'aide de CSS.
  • Création automatique de résumés de champs de formulaire expéditeurs de courrier électronique en HTML et texte brut.
  • Il est open source donc totalement gratuit (voici le dépôt GitHub)!

7voto

romaninsh Points 6048

Agile Toolkit ( ) est un framework d'interface utilisateur Web avec jQuery. Il peut être utilisé pour créer des formulaires conviviaux avec le support jQuery, tels que:

Formulaire de contact dans Toolkit Agile

Le code ci-dessous montre comment l’intégrer à jQuery (le plus proche, hide, fadeout, etc.)

 $form = $this->add('Form');
$form->addField('line','subject')->validateNotNULL();
$form->addField('text','body');
$form->addSubmit('Send');
$form->addButton('Cancel')->js()->closest('.dialog')->hide();
if($form->isSubmitted()){
    $form->js()->fadeOut()->text('Thank you')->fadeIn()->execute();
}
 

1voto

Treffynnon Points 13385

Une option que j’ai rencontrée est jFormer , mais elle a une histoire très courte et le code PHP n’est pas souhaitable avec un fichier massif de 3 000 lignes rempli de plusieurs classes. Cela ne prend pas une approche modulaire.

1voto

Alexey Borzov Points 91

Quels sont exactement les problèmes avec le fonctionnement de la validation côté client dans HTML_QuickForm2?

Il a besoin d'un quickform.js fichier de travail. Le fichier est installé avec le paquet, mais n'est pas automatiquement inclus dans le formulaire de sortie. J'ai récemment mis à jour la documentation à faire de cette question de plus en plus évidents.

Aussi DF2 eu un couple de versions depuis votre question, un peu de JS liés à des bugs ont été écrasés. Envisager de donner une autre chance: nous visons une version stable pour très Bientôt Maintenant, et amour de la rétroaction.

0voto

Treffynnon Points 13385

En parcourant le référentiel PEAR aujourd'hui, j'ai constaté que HTML_QuickForm2 avait été mise au point une nouvelle version prenant désormais en charge la validation côté client. Il n'utilise cependant pas jQuery et ils ont écrit leur propre framework JS pour le travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X