validateregex validar formulario enviar custom antes validation jsf-2

validation - enviar - validar formulario javascript html5



JSF valida en el formulario de envĂ­o (1)

Esta es una de las formas:

<h:messages globalOnly="true"/> <h:form> <h:inputText value="#{stackOverflow.firstDate}" binding="#{firstDate}"> <f:convertDateTime pattern="d/M/yyyy" /> </h:inputText> <h:inputText value="#{stackOverflow.secondDate}" validator="dateValidator"> <f:attribute name="firstDate" value="#{firstDate}" /> <f:convertDateTime pattern="d/M/yyyy" /> </h:inputText> <h:commandButton value="Submit" action="#{stackOverflow.submit}"/> </h:form>

con

@FacesValidator(value="dateValidator") public class DateValidator implements Validator { @Override public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { UIInput sd = (UIInput)component.getAttributes().get("firstDate"); Date firstDate = (Date)sd.getValue(); Date secondDate = (Date)value; if(!firstDate.before(secondDate)){ FacesMessage msg = new FacesMessage("Entered dates are invalid: first date must be before second date"); throw new ValidatorException(msg); } } }

Estoy trabajando en un formulario JSF 2.0, tengo un managedbean con 2 campos

import java.util.Date; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; @ManagedBean @RequestScoped public class StackOverflow { private Date firstDate; private Date secondDate; public void submit(){ //validate here and show error on form } }

y el xhtml como:

<h:inputText value="#{stackOverflow.firstDate}"> <f:convertDateTime pattern="d/M/yyyy" /> </h:inputText> <h:inputText value="#{stackOverflow.secondDate}"> <f:convertDateTime pattern="d/M/yyyy" /> </h:inputText> <h:commandLink action="#{stackOverflow.submit}"> <span>Submit</span> </h:commandLink>

Quiero validar la primera y la segunda fecha en que la segunda fecha no es anterior a la primera fecha