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


Reply via email to