Comment valider un champ de jsf
J'ai beaucoup de champs dans ma addNew.xhtml
page.
Je dois faire des validations des champs sur le côté client.
L'un des champs est city
.
Je veux obtenir une erreur de validation si je ne saisissez pas city
qui dit city cannot be left blank
.
Auparavant, je travaillais sur le graal cadre et c'était une tâche très facile à personnaliser les validations.
Maintenant, je suis en train de travailler sur jsf et je vais avoir du mal à trouver de bons exemples sur internet pour résoudre ce problème.
Pouvez-vous svp m'aider dans la mise en œuvre de cette validation
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="../css/global.css" />
</head>
<body>
<div class="windowContents">
<a4j:form style="width: 700px; height: 500px" ajaxSubmit="true"
id="addNewRecord">
<a4j:repeat value="#{addAction.editedtable}"
var="address">
<br />
<br />
<table border="0" style="font-size: 12px; width: 100%;">
<tr>
<td><h:outputText value="File ID:" /></td>
<td><h:outputText value="#{address.fileId}" /></td>
<td><h:outputText value="Insured Name" />:</td>
<td><h:outputText value="#{dataEntryAction.insuredName}" /></td>
</tr>
<tr>
<td><h:outputText value="House No" /><span class="red">*</span>:</td>
<td><h:inputText value="#{address.houseNumber}" /></td>
<td><h:outputText value="Street" /><span class="red">*</span>:</td>
<td><h:inputText value="#{address.street}" /></td>
</tr>
<tr>
<td><h:outputText value="City" />:</td>
<td><h:inputText id ="city" value="#{address.city}" required="false" requiredMessage="City is required" /></td>
<h:message for="city" />
</tr>
</table>
</a4j:repeat>
<br />
<h:panelGroup rendered="true">
<a4j:commandButton value="save" image="../images/buttons/save.gif"
render="@form"
action="#{addAction.saveEditedAndPrepareHistory(addAction.userComment,user, addAction.editedtable)}"
reRender="dataEnrtyTable,dataEntryDetails"
oncomplete="javascript:Richfaces.hideModalPanel('addNewRecordPanel')"
style="align:center;" />
</h:panelGroup>
</a4j:form>
</div>
- Les notions de base sur le JSF validateurs sont couverts dans Mkyong JSF 2 tutoriel (vérifier les Convertisseurs & section de Validation) et/ou de tout autre JSF 2 tutoriel. Veuillez vous référer ici pour en savoir plus à ce sujet et de revenir quand vous avez une vraie question.
Vous devez vous connecter pour publier un commentaire.
Il existe différentes options de JSF pour la réalisation de votre tâche,
1.
Côté Client validations.Vous avez demandé à votre question concernant la validation côté client.
Pas liés à votre question
Il ya d'autres façons aussi (que vous n'avez pas demandé à votre question).
2.
maxlength
- Le nombre maximum de caractères qui peuvent être entrés dans ce champ.3
. Côté serveur, les validations dePermet de dire que vous n'avez pas mis
onclick
événement pourh:commandLink
au point. 1Dans votre Facelets page,
4.
Construit dans le programme de validation des composantscityEntered
variable. En utilisant cela, vous pouvez vérifier si cela répond à votre exigence commeif(cityEntered == "")
ou certains autres complexes de contrôles.Strictement répondre à votre question, en JSF 1.2+, cela devrait le faire:
Je pense que ces articles peuvent vous intéresser:
J'espère que cela aide!