Folks, I am getting an error using the Validator which implies a malformed reguolar expression, however the regular expression should be ok and the validation actually works correctly except for the error message which appears....
any ideas on eliminating the error message or fixing the validation are appreciated. -------------------------------- The error message is: [ERROR] StrutsValidator - -Invalid expression: ^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$ ?+* follows nothing in expression <org.apache.oro.text.MalformedCachePatternException: Invalid expression: ^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$ ?+* follows nothing in expression> ----------------------------- The validation xml is: ----------------------------------------------------------------------cut from validation.xml----------------------------------------------------------------------- <global> <constant> <constant-name>signedREAL</constant-name> <constant-value>^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$</constant-value> </constant> </global> <formset> <form name="alertForm"> <field property="alert_limit" depends="required,mask"> <msg name="mask" key="editline.errors.notnumber"/> <arg0 key="editline.alert_limit"/> <var> <var-name>mask</var-name> <var-value>${signedREAL}</var-value> </var> </field> </form> </formset> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ stack trace: ---------------------------------------------------------------------------------------- org.apache.oro.text.MalformedCachePatternException: Invalid expression: ^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$ ?+* follows nothing in expression org.apache.oro.text.regex.Pattern org.apache.oro.text.GenericPatternCache.getPattern(java.lang.String, int) org.apache.oro.text.regex.Pattern org.apache.oro.text.perl.Perl5Util.__parseMatchExpression(java.lang.String) boolean org.apache.oro.text.perl.Perl5Util.match(java.lang.String, char[]) boolean org.apache.oro.text.perl.Perl5Util.match(java.lang.String, java.lang.String) boolean org.apache.commons.validator.GenericValidator.matchRegexp(java.lang.String, java.lang.String) boolean org.apache.struts.util.StrutsValidator.validateMask(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest) StrutsValidator.java:147 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) native code org.apache.commons.validator.ValidatorResults org.apache.commons.validator.Validator.validate() org.apache.struts.action.ActionErrors org.apache.struts.validator.ValidatorForm.validate(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest) ValidatorForm.java:299 boolean org.apache.struts.action.RequestProcessor.processValidate(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.struts.action.ActionForm, org.apache.struts.action.ActionMapping) RequestProcessor.java:893 void org.apache.struts.action.RequestProcessor.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) RequestProcessor.java:247 void org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) ActionServlet.java:1292 void org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) ActionServlet.java:510 void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) HttpServlet.java:760 void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) HttpServlet.java:853 void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse) ServletRequestDispatcher.java:721 void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse) ServletRequestDispatcher.java:306 boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean) HttpRequestHandler.java:767 void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread) HttpRequestHandler.java:259 void com.evermind.server.http.HttpRequestHandler.run() HttpRequestHandler.java:106 void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run() PooledExecutor.java:803 void java.lang.Thread.run() Thread.java:484 [ERROR] StrutsValidator - -Invalid expression: ^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$ ?+* follows nothing in expression <org.apache.oro.text.MalformedCachePatternException: Invalid expression: ^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$ ?+* follows nothing in expression> --------------------------------------------------------------------- Thnaks, Mark