You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Christopher Loschen <cl...@stanfordalumni.org> on 2005/02/28 23:38:54 UTC

Validator requiredif and range problem

Hi experts!

I've got a problem where two fields are being checked for being in the valid
range when only one of them is being used at any one time. I'm using Struts
1.1 so I'm limited to using requiredif instead of validwhen (right?). I've got
some radio buttons set up like this:

<input type="radio" name="amountType" value="upto amount"
checked="checked">Total amount with a threshold of $<input type="text"
name="amount" size="5" value="99999"><br />
(you will be notified by e-mail if amount exceeds desired threshold)<br />
<input type="radio" name="amountType" value="fixed amount">Fixed Amount of $
<input type="text" name="fixedAmount" size="5" value="0.0">

and my validation.xml looks like this:

<field property="amount" depends="requiredif,floatRange">
	<arg0 key="ui.payment.recurringpay.amount"/>
	<arg1 name="floatRange" key="${var:min}" resource="false"/>
	<arg2 name="floatRange" key="${var:max}" resource="false"/>
	<msg name="float" key="ui.payment.recurringpay.error.Amount"/>
	<var>
		<var-name>field[0]</var-name>
		<var-value>amountType</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>upto amount</var-value>
	</var>
	<var>
		<var-name>min</var-name>
		<var-value>0.01</var-value>
	</var>
	<var>
		<var-name>max</var-name>
		<var-value>9999.99</var-value>
	</var>
</field>
<field property="fixedAmount" depends="requiredif,floatRange">
	<arg0 key="ui.payment.recurringpay.fixedAmount"/>
	<arg1 name="floatRange" key="${var:min}" resource="false"/>
	<arg2 name="floatRange" key="${var:max}" resource="false"/>
	<msg name="float" key="ui.payment.recurringpay.error.fixedAmount"/>
	<var>
		<var-name>field[0]</var-name>
		<var-value>amountType</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>fixed amount</var-value>
	</var>
	<var>
		<var-name>min</var-name>
		<var-value>0.01</var-value>
	</var>
	<var>
		<var-name>max</var-name>
		<var-value>9999.99</var-value>
	</var>
</field>

This was working (I think)  before I added the floatRange parameters, although
all that would have done is check to make sure the entry isn't null.

I'm getting messages from both amount and fixedAmount, so I seem to have
broken the requiredif clause somehow, but I'm not sure how. Any suggestions?

Thanks!

Chris Loschen


____________________________________________________________________
   


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org