Clientseitiger Validator in rich:calendar

computersport

Aktives Mitglied
Moin,

ich will mein rich:calender Element einen Validator anhängen.
Dieser soll überprüfen ob das angegebene Datum 6 Monate vom
heutigen Datum in der Vergangenheit liegt.

Wichtig für mich ist das ich keinen customValidator dafür schreibe,
sondern einen StandardValidator verwende.

Hat jemand einen Hinweis wo man das genauer nachlesen könnte?

grüße

Compi
 
S

Sym

Gast
Ich denke, das geht nur über einen CustomValidator, der an dieser Stelle auch ziemlich trivial ist. Nutzt Du JSF1 oder JSF2? Werktage oder normale Tage?
 
S

Sym

Gast
Ungefähr so sollte das aussehen:

Java:
package de.larmic.web.validator;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

...

public class OlderThan60DayValidator implements Validator {

   private static final String ERROR_MESSAGE_KEY = "error.ui.validator.olderThan60DayValidator.dateRangeToShort";
   private static final int MIN_NUMBER_OF_PAST_MONTH = 6;

   @Override
   public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
      if (!(value instanceof Date)) {
         // TODO throw illegal argument exception
      }

      Calendar calendar = GregorianCalendar.getInstance(Locale.GERMAN);
      calender.add(Calendar.MONTH, (-1)*MIN_NUMBER_OF_PAST_MONTH);

         if (((Date) value).before(calendar.getTime())) {
            final String errorMsg = "" // TODO get message from properties

            final FacesMessage message = new FacesMessage(ERROR_MESSAGE_KEY);
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            message.setSummary(errorMsg);
            message.setDetail(errorMsg);

            throw new ValidatorException(message);
         }
   }
}

Der Validator muss dann noch in der faces-config.xml eingetragen werden

[xml]<faces-config xmlns="http://java.sun.com/JSF/Configuration">
...
<validator>
<validator-id>de.larmic.web.validator.OlderThan60DayValidator</validator-id>
<validator-class> de.larmic.web.validator.OlderThan60DayValidator </validator-class>
</validator>
...
</faces-config>[/xml]

Hilft Dir das weiter?
 
Zuletzt bearbeitet von einem Moderator:

agent0013

Mitglied
Hi,

ich hab auch so ähnliches problem.
Bei mir muss das programm testen, ob vom Benutzer eingegebenes Datum korrekt ist.
Ich hab das geschrieben,aber scheint nicht richtig zu sein:

Java:
static Calendar calendar = Calendar.getInstance();
	private static int dayOfMonth;
	private static int month;
	private static int year;

	private static boolean testCorrectDate(Date dateToCheck) {
		boolean correct;

		correct = false;

		if (dayOfMonth == Calendar.DAY_OF_MONTH && month == Calendar.MONTH
				&& year == Calendar.YEAR) {
			correct = true;
		}

		return correct;
	}

Ich weiß nicht,wie ich es hinkriegen soll...
vllt hat jemand Ahnung??

Danke
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Zugriff Validator in Tabelle (ui:repeat) auf andere Felder Web Tier 2
A Validator Message in JSF Web Tier 5
M JSF Zugriff auf mehrere Formulareinträge in einem Validator Web Tier 9
M Ist Dependency Injection im Validator möglich? Web Tier 15
F NullPointerException auf validator methode Teil2? Web Tier 2
B JSF NullPointerException auf validator methode Web Tier 7
F Frage zum Validator Web Tier 2
G JSF Validator und fortsetzen der Anwendung Web Tier 2
R rich:datatabele : kennt Keine events ? Web Tier 1
D JSF <rich:select, "Überprüfungsfehler: Wert ist ungültig" Web Tier 10
G JSF rich:extendedDataTable in rich:panel ist gestaucht Web Tier 5
N rich:extendedDataTable hat eine Spalte zuviel Web Tier 4
T JSF <rich:select> Breite einstellen? Web Tier 2
I JSF Nur Strings in rich:select ? Web Tier 4
G JSF Richfaces rich:messages Web Tier 13
P rich:panelMenuGroup --> expanded Parameter Problem Web Tier 3
T JSF/Richfaces rich:dataTable with rich:datascroller Web Tier 1
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
R JSF <rich:datatable> problem Web Tier 4
F Unterschied h:selectOneMenu zu rich:comboBox Web Tier 4
A rich:tabPanel - Inhalt nicht angezeigt Web Tier 4
F rich:modalpanel schliesst sich von selbst Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben