Date: 2004-05-20T13:04:42
Editor: RobertBurrellDonkin <[EMAIL PROTECTED]>
Wiki: Jakarta Commons Wiki
Page: ValidatorSetup
URL: http://wiki.apache.org/jakarta-commons/ValidatorSetup
no comment
Change Log:
------------------------------------------------------------------------------
@@ -8,7 +8,7 @@
* edit your struts-config.xml:
- ** put the validator plug-in xml into the plug-ins section:
+ * put the validator plug-in xml into the plug-ins section:
{{{
<!-- sets up Validator -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
@@ -17,13 +17,13 @@
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
}}}
- ** create the form configuration in struts-config.xml for the form-names, e.g. for
ValidatorForms:
+ * create the form configuration in struts-config.xml for the form-names, e.g. for
ValidatorForms:
{{{
<form-bean name="sectionForm"
type="com.mystuff.myapp.myForm">
</form-bean>
}}}
- ** or for DynaValidatorForms (we have to specify the fields we want here - and it's
best to stick to Strings rather than trying to deal with Integers or Dates etc which
do not get populated if the user enters the wrong type of data):
+ * or for DynaValidatorForms (we have to specify the fields we want here - and it's
best to stick to Strings rather than trying to deal with Integers or Dates etc which
do not get populated if the user enters the wrong type of data):
{{{
<form-bean name="sectionForm"
type="org.apache.struts.validator.DynaValidatorForm">
@@ -34,7 +34,7 @@
</form-bean>
}}}
- ** configure the action mapping e.g.:
+ * configure the action mapping e.g.:
{{{
<action path="/private/esurvey/survey/update"
type="org.gargantus.esurvey.SurveyAction"
@@ -52,10 +52,10 @@
redirect="true"/>
</action>
}}}
- *** set validate=true
- *** set input=/my/path so that struts can send the request somewhere on
validation-failure - this can be another action path like the example above, or a
tiles definition (normally beginning with '.'), or any other page in your app.
- *** add form-name as 'name' attribute
- *** set the scope to request, or if you want to make use of 'work-flow' or 'wizard'
techniques or other patterns that allow you to accumulate data over several HTTP
requests, put 'session' instead.
+ * set validate=true
+ * set input=/my/path so that struts can send the request somewhere on
validation-failure - this can be another action path like the example above, or a
tiles definition (normally beginning with '.'), or any other page in your app.
+ * add form-name as 'name' attribute
+ * set the scope to request, or if you want to make use of 'work-flow' or
'wizard' techniques or other patterns that allow you to accumulate data over several
HTTP requests, put 'session' instead.
* create validation.xml config file in WEB-INF - using the same form names as in
struts-config.xml e.g.:
{{{
@@ -93,13 +93,13 @@
focus="optionText">
}}}
* to enable client-side validation:
- ** make sure you include the onsubmit attribute with the html:form tag
+ * make sure you include the onsubmit attribute with the html:form tag
{{{
<html:form action="/private/esurvey/survey/update" >
focus="optionText"
onsubmit="return validateForm(this);">
}}}
- ** include in the JSP the html:javascript tag with the same form-name as above and
dynamic=true
+ * include in the JSP the html:javascript tag with the same form-name as above and
dynamic=true
{{{
<html:javascript formName="surveyForm"
method="validateForm"
@@ -107,7 +107,7 @@
staticJavascript="false"
cdata="false" />
}}}
- ** the 'method' should be the same as what you specified for the html:form onsubmit
attribute.
+ * the 'method' should be the same as what you specified for the html:form onsubmit
attribute.
* you could set static=true there as well, but it is more efficient to create an
extra page with just that taglib in it, set to produce only static javascript (needs
no form-name then) - and refer to it from your JSP using <script> tags. This way, the
browser will cache it and reduce traffic.
{{{
@@ -140,9 +140,9 @@
1. If the validate is true than the form's validate() method is called. There's no
need to call it explicitly and because of ValidatorForm doing all the validation
automatically, all that is required for code is a call in your form's submit() method
to super.validate(). If you are using DynaValidatorForm, then you will not have
program any form beans at all.
- a. if validate() returns any errors, then struts forwards the request to the URL
specified in the input attribute of the action mapping.
+ a. if validate() returns any errors, then struts forwards the request to the URL
specified in the input attribute of the action mapping.
- a. otherwise it checks for the action which the action mapping is based on.
+ a. otherwise it checks for the action which the action mapping is based on.
Then after that you have a populated form. Normally you would then transfer the data
into a value or data-transfer object to pass to your business layer (see
BeanUtils.copyProperties).
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]