1 16 package org.apache.myfaces.custom.regexprvalidator; 17 18 import javax.faces.context.FacesContext; 19 import javax.faces.el.ValueBinding; 20 import javax.faces.validator.Validator; 21 import javax.faces.webapp.UIComponentTag; 22 import javax.faces.webapp.ValidatorTag; 23 import javax.servlet.jsp.JspException ; 24 25 43 public class ValidateRegExprTag extends ValidatorTag { 44 45 private String _pattern = null; 47 48 public ValidateRegExprTag(){ 49 } 50 51 public void setPattern(String string) { 52 _pattern = string; 53 } 54 55 protected Validator createValidator() throws JspException { 56 57 FacesContext facesContext = FacesContext.getCurrentInstance(); 58 setValidatorId(RegExprValidator.VALIDATOR_ID); 59 RegExprValidator validator = (RegExprValidator)super.createValidator(); 60 if (_pattern != null) 61 { 62 if (UIComponentTag.isValueReference(_pattern)) 63 { 64 ValueBinding vb = facesContext.getApplication().createValueBinding(_pattern); 65 validator.setPattern(new String (vb.getValue(facesContext).toString())); 66 } 67 else 68 { 69 validator.setPattern(_pattern); 70 } 71 } 72 return validator; 73 } 74 public void release() 75 { 76 super.release(); 77 _pattern= null; 78 } 79 80 } 81 | Popular Tags |