package org.richfaces.demo.validation; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.FacesValidator; import javax.faces.validator.Validator; import javax.faces.validator.ValidatorException; import org.jsoup.Jsoup; import org.jsoup.safety.Whitelist; @FacesValidator("safeHtml") public class SafeHtmlValidator implements Validator { private static Whitelist whitelist = Whitelist.simpleText(); @Override public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { if (value != null) { if (!Jsoup.isValid(value.toString(), whitelist)) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "message contains unsafe character sequence", ""); throw new ValidatorException(message); } } } }