You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Vincent Demay <vi...@anyware-tech.com> on 2006/09/22 15:57:51 UTC

ValidationRule vs WidgetValidator

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.

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.

Mes questions sont donc :
Pourquoi la configuration dans cocoon.xconf des validationRules est
deprecated mais pas les classes associées?
Il y a-t-il un moyen que je n’aurais pas vu d’ajouter des ValidationRule
autrement qu’en java (Dans un WidgetDefinitionBuilder) ?

-- 
Vincent Demay
Systèmes d'Information
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com/



---------------------------------------------------------------------
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


Re: ValidationRule vs WidgetValidator

Posted by Vincent Demay <vi...@anyware-tech.com>.
Merci de ta reponse.

En fait le but du jeu aurait été de faire 2 niveaux de validation séparés.
Le premier permettrai sur l'enregistrement une validation des données mais
seuleument datatype. Et un autre à la validation du form permettant de
faire une validation métier plus une datatype.

Je vais donc considérer que validationRule est dépreciée, je pense pouvoir
 réaliser ma "validation datatype" en écrivant des nouveaux convertors et
en appelant les convertFromString des datatypes des widgets lors des
enregistrements.

Merci,

-- 
Vincent Demay
Systèmes d'Information
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com/


> 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
>
>



---------------------------------------------------------------------
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


Re: ValidationRule vs WidgetValidator

Posted by Sylvain Wallez <sy...@apache.org>.
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