Programming Tutorials

(追記) (追記ここまで)

Simple example of using the requiredif Validator rule in Struts

By: Apache Foundation in Struts Tutorials on 2008年09月20日 [フレーム]

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>



(追記) (追記ここまで)


Add Comment

JavaScript must be enabled for certain features to work
* Required information
1000

Comments

No comments yet. Be the first!
(追記) (追記ここまで)
(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /