CloseCustom validator for email adresses
// this is the Java code of the validator
package com.hp;
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 EmailValidator implements Validator {
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
if (!value.toString().matches("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")) {
FacesMessage message = new FacesMessage("Invalid E-Mail adress");
// context.addMessage(component.getClientId(context), message);
throw new ValidatorException(message);
}
}
}
<!-- this is the faces-config.xml entry -->
<validator>
<validator-id>emailValidator</validator-id>
<validator-class>com.hp.EmailValidator
</validator-class>
</validator>
<!-- this is the implementation in the XPage -->
<xp:inputText value="#{comment.commentEmail}" id="commentEmail1" required="true" style="width:100%">
<xp:this.validators>
<xp:validateRequired message="Please provide your E-Mail">
</xp:validateRequired>
<xp:validator validatorId="emailValidator">
</xp:validator>
</xp:this.validators>
</xp:inputText>
Tagged with java email field validation