Я проверяю десятичные разряды с точностью (5,2), которые могут иметь отрицательные числа, используя регулярное выражение в стойках.
Когда я пытаюсь запустить это ^[-+]?[0-9]{1,3}+(\.[0-9]{1,2})$
в Java это работает нормально. Но то же выражение в стойках выбрасывает ниже ошибки.
org.apache.struts.validator.FieldChecks processFailure mask validation failed for property inputCost: org.apache.oro.text.MalformedCachePatternException: Invalid expression: ^[-+]?[0-9]{1,3}+(\.[0-9]{1,2})$
Nested repetitions *?+ in expression
Вот фрагмент кода validation.xml.
<field property="inputCost" depends="double,mask">
<arg position="0" key="label.inputCost"/>
<msg name="mask" key="label.inputCost.mask"/>
<var>
<var-name>mask</var-name>
<var-value>^[-+]?[0-9]{1,3}+(\.[0-9]{1,2})$</var-value>
</var>
</field>
Любые предложения приветствуются.