So überprüfen Sie ein Feld in jsf
Habe ich viele Bereiche in meinem addNew.xhtml
Seite.
Ich habe zu tun Validierungen der Felder auf der client-Seite.
Ein Bereich ist city
.
Möchte ich, um einen überprüfungsfehler, wenn ich nicht geben Sie city
was sagt city cannot be left blank
.
Zuvor arbeitete ich auf dem grails-framework und es war eine sehr einfache Aufgabe anpassen Validierungen.
Jetzt arbeite ich auf jsf und ich habe Schwierigkeiten, die Suche nach guten Beispielen im internet um dieses Problem zu lösen.
Können Sie bitte helfen Sie mir bei der Durchführung dieser Validierung
<!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>
- Die Grundlagen über die JSF-Validatoren sind abgedeckt in Mkyong JSF-2-tutorial (überprüfen Sie den Konverter & Validierung Abschnitt) und/oder alle anderen JSF-2-tutorial. Bitte beziehen Sie sich es zu lernen, dieses Thema und kommen zurück, wenn Sie haben eine echte Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es verschiedene Möglichkeiten in JSF für die Erreichung Ihrer Aufgabe,
1.
Client-side Validierungen.Fragte Sie in Ihrer Frage Bezug auf client-seitige Validierung.
Nicht auf Ihre Frage
Es gibt andere Möglichkeiten auch, (die Sie nicht gebeten haben, die in Ihrer Frage).
2.
maxlength
- Die maximale Anzahl der Zeichen, die eingegeben werden können in diesem Feld.3
. Server-side ValidierungenKönnen sagen, Sie haben nicht
onclick
Ereignis fürh:commandLink
im Punkt. 1In Ihrem Facelets-Seite,
4.
Eingebauten validator-KomponentencityEntered
variable. Mit diesem können Sie überprüfen, ob das deiner Anforderung entspricht, wieif(cityEntered == "")
oder einige andere komplexe Prüfungen.Streng, deine Frage zu beantworten, in JSF 1.2+, dies sollte es tun:
Ich denke, dass diese Artikel für Sie interessant sein können:
Ich hoffe, es hilft!