Q&A Categories

Struts Interview Questions and Answers

Can you give me a simple example of using the requiredif Validator rule?



Answer #1

First off, there’s an even newer Validator rule called

validwhen, which is almost certainly what you want to use,

since it is much easier and more powerful.

It will be available in the first release after 1.1 ships.

The example shown below could be coded with validwhen as:

<form name=”medicalStatusForm”>

<field

property=”pregnancyTest” depends=”validwhen”>

<arg0 key=”medicalStatusForm.pregnancyTest.label”/>

<var>

<var-name>test</var-name>

<var-value>((((sex == ‘m’) OR (sex == ‘M’))

AND (*this* == null)) OR (*this* != null))</test>

</var>

</field>

Let’s assume you have a medical information form

with three fields,

sex, pregnancyTest, and testResult. If sex is ‘f’ or ‘F’,

pregnancyTest is required. If pregnancyTest is not blank,

testResult is required. The entry in your validation.xml

file would look like this:

<form name=”medicalStatusForm”>

<field

property=”pregnancyTest” depends=”requiredif”>

<arg0 key=”medicalStatusForm.pregnancyTest.label”/>

<var>

<var-name>field[0]</var-name>

<var-value>sex</var-value>

</var>

<var>

<var-name>fieldTest[0]</var-name>

<var-value>EQUAL</var-value>

</var>

<var>

<var-name>fieldValue[0]</var-name>

<var-value>F</var-value>

</var>

<var>

<var-name>field[1]</var-name>

<var-value>sex</var-value>

</var>

<var>

<var-name>fieldTest[1]</var-name>

<var-value>EQUAL</var-value>

</var>

<var>

<var-name>fieldValue[1]</var-name>

<var-value>f</var-value>

</var>

<var>

<var-name>fieldJoin</var-name>

<var-value>OR</var-value>

</var>

</field>

<field

property=”testResult” depends=”requiredif”>

<arg0 key=”medicalStatusForm.testResult.label”/>

<var>

<var-name>field[0]</var-name>

<var-value>pregnancyTest</var-value>

</var>

<var>

<var-name>fieldTest[0]</var-name>

<var-value>NOTNULL</var-value>

</var>

</field>

</form>

Agree With Answer Thumb up 0 Thumb down 0

Answers Answered By: Sajan [8 Grey Star Level]

Answer this Question

You must be Logged In to post an Answer.

Not a member yet? Sign Up Now »



Hot Interview Questions of Struts

Star Points Scale

Earn points for Posting and Commenting Papers!

Grey Sta Levelr [1 - 25 Grey Star Level]
Green Star Level [26 - 50 Green Star Level]
Blue Star Level [51 - 500 Blue Star Level]
Orange Star Level [501 - 5000 Orange Star Level]
Red Star Level [5001 - 25000 Red Star Level]
Black Star Level [25001+ Black Star Level]