Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-09-2009 17:21:03

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

[Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

Bonjour à tous smile

Le Zend_Form est bien pratique, mais tout les éléments de sont pas valide W3C ! Exemple tout simple (tout est pris dans la doc de zf) :

Code:

$form = new Zend_Form;
$form->setAction('/resource/process')
    ->setMethod('post');

$check = new Zend_Form_Element_MultiCheckbox('foo', array(
'multiOptions' => array(
    'foo' => 'Foo Option',
    'bar' => 'Bar Option',
    'baz' => 'Baz Option',
    'bat' => 'Bat Option',
)));
$check->setValue(array('bar', 'bat'));
$check->setLabel('check');

$form->addElements(array($check));

echo $form;

Voila le code Html :

Code:

<form enctype="application/x-www-form-urlencoded" action="/resource/process" method="post"><dl class="zend_form">
<dt id="foo-label"><label for="foo" class="optional">check</label></dt> <---- ERROR
<dd id="foo-element">
<label for="foo-foo">
<input type="checkbox" name="foo[]" id="foo-foo" value="foo" />Foo Option</label><br />
<label for="foo-bar"><input type="checkbox" name="foo[]" id="foo-bar" value="bar" checked="checked" />Bar Option</label><br />
<label for="foo-baz"><input type="checkbox" name="foo[]" id="foo-baz" value="baz" />Baz Option</label><br />
<label for="foo-bat"><input type="checkbox" name="foo[]" id="foo-bat" value="bat" checked="checked" />Bat Option</label>
</dd></dl></form>

Pourquoi c'est pas valide ? Tout simplement que foo n'a pas de référence. Vous allez me dire, mais ce n'est pas un crime ! wink

Mais souhaiterais savoir comment corriger ce problème. Avez-vous un idée ?

Merci beaucoup pour votre aide.

Dernière modification par nicko (12-09-2009 16:31:16)

Hors ligne

 

#2 11-09-2009 08:42:35

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

Salut à tous,

En lisant la doc de Zend, il y a cette partie (23.5.3. Décorateurs personnalisés) que j'essaye de mettre un place pour corriger ce "bug".

J'ai bien vu que l'on pouvait modifier la description en replaçant les tag pas des div. Mais pour la méthode buildLabel(), comment faire ?

Merci d'avance

Hors ligne

 

#3 12-09-2009 09:07:59

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

Bon je m'auto pose une question wink

Lorsque Zend génère une balise <label>, ou arrive t-il à trouver le for="" j'ai cherché dans les décorators, il n'y rien d'écrit en dur ?

Par d'idées.

Hors ligne

 

#4 12-09-2009 16:30:52

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

J'ai fini par trouver une partie de la solution. Toutes les aides de vues utilisées pour générer les formulaires se trouvent dans zend/view/helper.

Hors ligne

 

#5 09-01-2010 23:11:27

m1b
Membre
Date d'inscription: 04-05-2009
Messages: 44

Re: [Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

Hello,

Je constate la même chose si j'analyse avec HTML tidy et c'est étonnant qu'il n'y a pas plus de remarques que ça à ce niveau.

Exemple pour les balises "input" il n'y a pas le slash sur la balise de fermeture : <input.... />
Ce n'est pas dramatique en soit mais ça veut dire que par défaut ça ne génère pas du code W3C pour les formulaires. Bon j'imagine que certains ne regardent pas ça...

Mais il faut souligner un truc, si on a la confirmation "OK" pour le W3C, très souvent si on va tester sur un autre navigateur le résultat est identique et on évite de galérer à comprendre pourquoi y a un espacement sous IE etc... smile (vilain IE tongue)

Dernière modification par m1b (09-01-2010 23:12:19)

Hors ligne

 

#6 10-01-2010 11:46:27

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Form][1.9] Non valide W3C ou Tidy

Pour les histoires de balises fermantes, il faut spécifié le doctype utilisé à la vue.

Code:

// in a Zend_View
$this->doctype('XHTML1_STRICT');

http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.doctype

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages