[
https://issues.apache.org/jira/browse/WW-4940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
nitin pericherla updated WW-4940:
---------------------------------
Comment: was deleted
(was: Thanks for your response, we are interested in using your suggested
approach, but were unable to get the desired result in our testing.
<field name="sampleField2"><field-validator type="fieldexpression"><param
name="expression"><![CDATA[ (((sampleField2.trim().equals("")) &&
(sampleField1.equals("N"))) || (!sampleField2.trim().equals("")))
]]></param><param
name="param1">$\{getText("sample.col.samplefield2")}</param><key>errors.required</key><message>Default
message</message></field-validator></field>
errors.required=Field \{param1} is required!
The *key* tag is not available so unable to use in xml, so we used
<message key="errors.required"></message>
‘param1’ is not recognized and throwing error as shown below:
*error Error 500: can't parse argument number test1*
**
We added the ${param1} in property,
errors.required=Field ${param1} is required!
the param1 value which was set is not shown in error message and they are
displayed like this below
* is required.
* is required.
* is required.
* is required.
* is required.
* is required.
Could you please share a working example?)
> Corrupted error message with getText
> ------------------------------------
>
> Key: WW-4940
> URL: https://issues.apache.org/jira/browse/WW-4940
> Project: Struts 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.34
> Reporter: nitin pericherla
> Priority: Major
>
> *Issue:*
> The dev team is running into an issue randomly in Strut2 validation, the
> broken getText() function is diplayed in error messages as shown below and
> this happens randomly , it depends on number of error messages and sequence
> the way the error is displayed , we found that by formating the XML in
> certain way would reduce these instances but randomly another error message
> will turn to "getText" So far we have not found the best way to avoid these.
> , please check below for this issue
>
> Background:
> During our migration from struts 1 to struts 2, we had to migrate STRUTS XML
> Validation from struts1 to struts 2 validation as it has changed, Although
> there are other ways but we used getText function to get the desired results
> so we do not have to change how our error messages getting displayed.
> Basically using the application resource file for getting column labels and
> error message text.
>
> *Validation Error:- You must correct the following error(s) before
> proceeding:*
> * Error Message 1.
> * Error Message 2.
> * Error Message 3.
> * *$\{getText("sample.col.samplefi*
> * Error Message 4.
>
>
> *O**riginal struts 1 XML validation is migrated to struts 2 in this following
> way*
> <field property="sampleField" depends="required">
> <arg0 key="sample.col.samplefield1" />
> </field>
> <field property="sampleField2" depends="validwhen">
> <arg0 key="sample.col.samplefield2" />
> <var>
> <var-name>test</var-name>
> <var-value>
> <![CDATA[ (((*this* == null) and (sampleField ==
> 'somevalue')) or (*this* != null))]]>
> </var-value>
> </var>
> </field>
>
> *Struts 2 XML Validation snippet*
> <field name=" sampleField1">
> <field-validator type="requiredstring">
> <param name="trim">true</param>
>
> <message>${getText("errors.required",\{getText("sample.col.samplefield1")})}</message>
> </field-validator>
> </field>
> <field name=" sampleField2">
> <field-validator type="fieldexpression">
> <param name="expression">
> <![CDATA[ (((sampleField2.trim().equals("")) &&
> (sampleField1.equals("N"))) || (!sampleField2.trim().equals(""))) ]]></param>
>
> <message*>${getText("errors.required",\{getText("sample.col.samplefield2")})}</*message>
> </field-validator>
> </field>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)