Par défaut les messages d'erreurs HTML_QuickForm sont générés à la mode HTML, utilisant moultes font color et autres horreurs venues d'un autre temps.

Grâce à nos deux compères setRequiredTemplate et setErrorTemplate, nous allons pouvoir enfin rendre plus ou moins compatible nos messages d'erreurs conforme à XHTML ;)

  1. setRequiredTemplate : template du message "* champs requis" souvent placé à la fin du formulaire. Il suffit de placer le {label} à notre guise,avec la petite étoile qui va bien. Pour rappel, on peut customiser ce message avec setRequiredNote, et on peut l'afficher dans notre template de formulaire grace à {formName_required_note}.
  2. setErrorTemplate : template de l'affichage d'un élément QuickForm étant en erreur. On gère l'affichage grâce à {error} contenant le message d'erreur proprement dit, et {html} contenant le code html de l'élément lui même.
Exemple
 
// --- Charge le template
require_once 'HTML/Template/Sigma.php';
$O_tpl =& new HTML_Template_Sigma('.');
$O_tpl->setTemplate($S_template);
	
// --- Renderer du formulaire
require_once 'HTML/QuickForm/Renderer/ITStatic.php';
$O_rdr =& new HTML_QuickForm_Renderer_ITStatic($O_tpl);
$O_rdr->setRequiredTemplate('<span style="color: red;">*</span>{label}');
$O_rdr->setErrorTemplate('<span style="color: red;">{error}</span><br />{html}');
$form->accept($O_rdr);
			
// --- retourn l'html complet
echo $O_tpl->get();

Merci à Benji pour l'astuce ;)