1/5 (8 avis)
Vue 11 044 fois - Téléchargée 2 218 fois
<?php // VarChecker test les variables http $form = new VarChecker(); // si le formulaire est posté if($form->hasPost()){ // definitions des regles du formulaire $test_form = array(); $test_form['int'] = array('title' => 'Champ 1', 'filter' => VarFilter::VF_INT, 'nn' => true); $test_form['string'] = array('title' => 'Champ 2', 'filter' => VarFilter::VF_STRING, 'nn' => true, 'date_past' => 'd/m/y'); $test_form['bool'] = array('title' => 'Champ 3', 'filter' => VarFilter::VF_BOOL, 'nn' => true); $test_form['html'] = array('title' => 'Champ 4', 'filter' => VarFilter::VF_HTML, 'min' => 3, 'max' => 100); $test_form['float'] = array('title' => 'Champ 5', 'filter' => VarFilter::VF_FLOAT, 'vmin' => 10, 'vmax' => 100); $test_form['alphanum'] = array('title' => 'Champ 6', 'filter' => VarFilter::VF_ALPHANUM, 'min' => 3, 'max' => 100); if($form->isValid($test_form)){ // traitement OK ici echo '<br/> formulaire valide'; } else{ // traitement NOK ici : exemple afficher les messages d'erreur echo '<br/> formulaire invalide'; echo '<ul class="error_msg">'; foreach($form->errorMessage as $message){ echo '<li>',$message,'</li>'; } echo '</ul>'; } } ?> <!-- le formulaire --> <form method="POST"> Champ 1 (int)<br/> <input type="text" value="<?php echo $form->int; ?>" name="int" <?=($form->isError('int'))?'class="error"':'';?> /><br/> Champ 2 (string)<br/> <input type="text" value="<?php echo $form->string; ?>" name="string" <?=($form->isError('string'))?'class="error"':'';?> />(jj/mm/aaaa)<br/> Champ 3 (bool)<br/> <input type="checkbox" name="bool" value="1" <?=($form->bool)?'checked="CHECKED"':'';?> <?=($form->isError('bool'))?'class="error"':'';?> /><br/> Champ 4 (html)<br/> <input type="text" value="<?php echo $form->html; ?>" name="html" <?=($form->isError('html'))?'class="error"':'';?> /><br/> Champ 5 (float)<br/> <input type="text" value="<?php echo $form->float; ?>" name="float" <?=($form->isError('float'))?'class="error"':'';?> /><br/> Champ 6 (alphanum)<br/> <input type="text" value="<?php echo $form->alphanum; ?>" name="alphanum" <?=($form->isError('alphanum'))?'class="error"':'';?> /><br/> <p><input type="submit" value="Tester"></p> </form>
13 août 2012 à 11:46
Rien n'est compliqué.
Juste que ar habitude, je met toujours une architecture basique pour les projets open-source.
Tu copies le fichier dans le dossier que tu veux par la suite, mais c'est plus clair pour le visiteur, t'as une vue globale sur tout ..
+ un mauvais souvenir de linux qui me demande "remplacer le dossier" et moi qui répond "oui" (je pensais que ça allait les fusionner, mais en fait il n'a gardé que le dernier fichier, celui copié)
++ ;)
Et aussi, pour HTML5 : http://modernizr.com/
(HTML5 dans le client, ou si trop ancien : javascript =))
13 août 2012 à 09:37
Ma lib est plus ouverte car je l'utilise pour toutes mes variables http et ne génére pas le form (plus pratique quand c'est une autre personne qui réalise l'intégration)
En plus dans l'optique de s'adresser à des débutants, je trouve ma classe un peu plus simple d'utilisation.
Par contre, concernant ta remarque sur l'architecture des dossiers... la lib comporte 5 classes : le gars qui veut les utiliser les met ou il veut. Je n'impose aucune architecture.
Moi j'ai récupéré plusieurs sources ici et je les ai toujours adapté à mon arborescence, il n'y a pas besoin d'être gourou PHP pour bouger des fichiers. Mais La prochaine fois je mettrai tout à la racine d'un dossier si ça te semble trop compliqué.
11 août 2012 à 16:26
11 août 2012 à 16:24
FF14 : http://imageshack.us/photo/my-images/802/html5ff14.png/
Par contre, ZebraForm a l'air très intéressante !
11 août 2012 à 01:39
ZebraForm propose aussi validation client/serveur, et est plus léger que ta source.
Je trouve ton architecture de dossiers ... lourde ... et peu adaptable aux sites pré-existants.
Après, pour tes projets, c'est surement génial, car tu y es habitué ...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.