Hallo!
Folgendes Problem: Ich habe eine DynaActionForm, welche ich validieren möchte. ich habe also in der form-deklarierung den typ auf "org.apache.struts.validator.DynaValidatorActionForm" geändert.
im action mapping habe ich validate auf true gesetzt.
außerdem habe ich das plugin für die validierung in der struts-config hinzugefügt...
in der validation.xml habe ich folgenden eintrag:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
wenn ich jetzt allerdings die seite aufrufe, dann gehts in eine endlosschleife
was mache ich denn da falsch? meine vermutung ist, dass er bevor er die seite anzeigt, eine überprüfung macht, ob die eingaben richtig sind (in diesem fall required). und da am anfang das nicht sein kann, macht er eine endlosschleife...
Folgendes Problem: Ich habe eine DynaActionForm, welche ich validieren möchte. ich habe also in der form-deklarierung den typ auf "org.apache.struts.validator.DynaValidatorActionForm" geändert.
Code:
<form-bean name="orderprioritymodform"
type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="order_priority_id" type="java.lang.Long" />
<form-property name="label" type="java.lang.String" />
<form-property name="order_priorities"
type="org.dea.odm.model.OrderPriority[]" />
</form-bean>
im action mapping habe ich validate auf true gesetzt.
Code:
<action path="/orderprioritymod"
type="org.dea.odm.struts.actions.OrderPriorityModAction"
input="/orderprioritymod.do" name="orderprioritymodform"
roles="admin"
scope="request"
validate="true">
<forward name="success" path="screen.orderprioritymod" />
</action>
außerdem habe ich das plugin für die validierung in der struts-config hinzugefügt...
Code:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn" >
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="false"/>
</plug-in>
in der validation.xml habe ich folgenden eintrag:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
Code:
<form-validation>
<formset>
<form name="/orderprioritymod">
<field property="label" depends="required" >
<msg name="required" key="errors.required" bundle="lang" />
<arg name="required" key="orderpriority.label" bundle="lang" position="0" />
</field>
</form>
</formset>
</form-validation>
wenn ich jetzt allerdings die seite aufrufe, dann gehts in eine endlosschleife
Code:
ApplicationDispatcher[/odm] Servlet.service() for servlet action threw exception
java.lang.StackOverflowError
was mache ich denn da falsch? meine vermutung ist, dass er bevor er die seite anzeigt, eine überprüfung macht, ob die eingaben richtig sind (in diesem fall required). und da am anfang das nicht sein kann, macht er eine endlosschleife...