La validation JSF est-elle côté client ou côté serveur?
J'ai mis en place ma logique de validation comme suit:
<h:inputText id="title" value="#{...}"
required="true" requiredMessage="...some..text..."
validatorMessage="...some..other..text..." >
<f:validateLength minimum="10" maximum="50"/>
</h:inputText>
J'ai beaucoup lu sur le client et server-side de validation et sur leurs avantages et leurs inconvénients. Mais je n'ai aucune idée sur ce que le code ci-dessus ne.
Quelqu'un peut-il expliquer cela 🙂
Acclamations
source d'informationauteur Sven
Vous devez vous connecter pour publier un commentaire.
Dans la validation côté client, c'est le client (navigateur) qui valide l'entrée à l'aide d'un langage côté client, en JavaScript par exemple. Dans la validation côté serveur, c'est le serveur (serveur web) qui valide l'entrée à l'aide d'un langage côté serveur, par exemple, Java.
Vous ne devriez jamais faire seulement la validation côté client, parce que le résultat est contrôlable (et donc piratable/spoofable) par l'utilisateur final. Généralement, vous souhaitez utiliser la validation côté client, car il donne beaucoup plus tôt de la rétroaction. L'utilisateur final n'a pas besoin d'attendre pour la soumettre le formulaire complété et n'a pas besoin de faire face à une "flash de contenu" à la page blancs, puis affiche à nouveau avec de nouveaux contenus). Vous souhaitez utiliser côté serveur de validation afin de s'assurer de l'intégrité des données présentées. L'utilisateur final n'a en aucune manière le contrôle sur l'issue de la partie serveur de validation.
Dans le cas du JSF, la validation est toujours côté serveur. Depuis JSF 2.0, il est possible de soumettre un formulaire (et donc aussi de valider le formulaire) à l'aide de builtin ajaxical fonctionnalité. Cette combine le meilleur des deux mondes: le fait d'avoir une rétroaction instantanée sans flash de contenu et à la robustesse et à l'intégrité de la partie serveur de validation.