cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: ValidationRule vs WidgetValidator
Date Fri, 22 Sep 2006 16:21:32 GMT
Vincent Demay wrote:
> Bonjour,
>
> Je me pose quelques questions un peu tordues à propos de cocoon Form.
> J’espère que quelqu’un pourra m’aider
>
> Pour la configuration de la validation des widgets dans CocoonForm au
> niveau de cocoon.xconf, les validations rules ont été dépréciées :
>
> <validation-rules>
> 	<!-- old-style datatype validators (deprecated) -->
> 	...
> </validation-rules>
>
> Ce que je comprends très bien puisque remplacées par les forms-validators
> <forms-validators logger="forms.validators">
>
> Mais d’un autre coté l’interface validationRule n’est pas dépréciée.
>   

C'est un oubli, et le plan est de supprimer complètement ValidationRule, 
puisque WidgetValidator permet de faire tout ce que fait ValidationRule 
(voir ValidationRuleValidator) et bien plus.

La suppression n'a pas été effective parce qu'il fallait "refactorer" 
toutes les implémentations de ValidationRule en WidgetValidator. Et le 
temps, comme souvent, a manqué.

> Je trouve dommage que l’on ne puisse plus définir de validationRule dans
> le form définition car à mon sens les validationRules permettent de faire
> des validations au niveau datatype(ex : conformité des données saisies
> avec le type du champs) alors que les validators permettent eux de faire
> des validations plus orientées métiers. Je trouve dommage de casser la
> séparation entre ces 2 domaines d’autant que dans le projet sur lequel je
> travaille, on souhaite pouvoir jouer sur ces 2 niveaux de validation.
> Il est toujours possible de faire une sorte de validation au niveau du
> datatype via le convertor mais à ce niveau la on ne peut bien sur en
> spécifier un seul.
>   

Tu peux tout faire avec WidgetValidator! Aussi bien la validation du 
datatype que des validations métiers plus complexes impliquant plusieurs 
champs, ou même des données externes. Regarde dans 
o.a.c.forms.validation.impl: tout est là !

> Mes questions sont donc :
> Pourquoi la configuration dans cocoon.xconf des validationRules est
> deprecated mais pas les classes associées?
>   

Cf plus haut: ça devrait être deprecated.

> Il y a-t-il un moyen que je n’aurais pas vu d’ajouter des ValidationRule
> autrement qu’en java (Dans un WidgetDefinitionBuilder) ?
>   

Je ne comprends pas bien la question: tu peux ajouter de nouvelles 
implémentations de ValidationRuleBuilder dans cocoon.xconf. Le 
JavaClassValidatorBuilder permet d'utiliser une classe Java sans devoir 
modifier cocoon.xconf (pour les cas spécifiques) avec <fd:java 
class="my.NiceValidator"/>, et le JavaScriptValidator permet de coder la 
validation en JS.

Tu devrais trouver ton bonheur dans tout ça...

Sylvain


-- 
Sylvain Wallez - http://bluxte.net


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message