Puisque vous n'avez pas eu une bonne réponse, je veux partager mon opinion avec les cadres de validation que j'ai vu pour GWT.
La chose avec les cadres est qu'ils essaient souvent d'accomplir deux choses:
- Ils veulent être très général.
- Ils veulent être non intrusifs à votre code.
Cela réussira parfois, mais la plupart du temps, non. Rédaction d'un tel cadre a un coût, et ce coût est vous en tant qu'utilisateur de ce cadre qui paiera.
La validation devrait, à mon avis, être simple. Voici un exemple sur la façon dont je l'ai résolu la validation en utilisant un code que je mets ensemble:
MasterValidator masterValidator = new MasterValidator();
masterValidator.mandatory(messages.required_field(), lastnameBox, firstnameBox, genderBox);
if (birthdateRequired) {
masterValidator.mandatory(messages.required_field(), birthdateBox);
}
masterValidator.date(messages.date_format(), birthdateBox);
masterValidator.email(messages.invalid_email(), emailBox);
return masterValidator.validateStatus();
Voici chacune des boîtes d'entrée hériteront de mon TextField (ou d'autres types d'entrée) et ces champs a une étiquette d'erreur qui sera définir si la validation échoue. Je ne dis pas que c'est parfait, mais ça va faire le travail simplement. Si vous voulez être inspiré/prendre un peu de mon code pour cela, alors s'il vous plaît faire. Le code est utilisé dans un projet sous licence GPL2 hébergé sur Google Code:
http://code.google.com/p/accountclient/source/browse/#svn/trunk/RegnskapClient/src/no/knubo/accounting/client/validation
Il utilise le client/ui aussi bien.
J'espère que vous posez cette question uniquement pour les commentaires des utilisateurs. Juste un rappel amical que toute la validation réelle ** doit ** être faite côté serveur. Les contrôles côté client afin que vous puissiez fournir des commentaires en temps opportun à l'utilisateur sont agréables, mais ils ne suppriment pas le besoin de vérifier * tout * sur le serveur. –
@ Andrezej Doyle - Est-ce parce que Javascript peut être désactivé du côté client? – Sid
@SidCool L'utilisateur peut modifier n'importe quel appel envoyé au serveur, c'est pourquoi vous ne devriez pas compter sur la validation côté client pour garder vos données cohérentes et sûres. – Knubo