← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1615: Date text field needs validation rule in data entry screen.

 

------------------------------------------------------------
revno: 1615
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: trunk
timestamp: Thu 2010-03-11 17:23:21 +0700
message:
  Date text field needs validation rule in data entry screen.
modified:
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/date.js
  dhis-2/dhis-web/dhis-web-dataentry/pom.xml
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription.
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/date.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/date.js	2010-02-28 10:44:15 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/date.js	2010-03-11 10:23:21 +0000
@@ -193,7 +193,6 @@
 	var year=now.getYear();
 	var month=now.getMonth()+1;
 	var date=1;
-	
 	while (i_format < format.length) {
 		// Get next token from format string
 		c=format.charAt(i_format);
@@ -228,6 +227,7 @@
 					}
 				}
 			if ((month < 1)||(month>12)){return 0;}
+
 			}
 		else if (token=="EE"||token=="E"){
 			for (var i=0; i<DAY_NAMES.length; i++) {
@@ -238,7 +238,7 @@
 					}
 				}
 			}
-		else if (token=="MM"||token=="M") {
+		else if (token=="MM"||token=="M" || token=="mm") {
 			month=_getInt(val,i_val,token.length,2);
 			if(month==null||(month<1)||(month>12)){return 0;}
 			i_val+=month.length;}
@@ -266,6 +266,7 @@
 		}
 	// Correct hours value
 	var newdate=new Date(year,month-1,date);
+	
 	return newdate.getTime();
 	}
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/pom.xml'
--- dhis-2/dhis-web/dhis-web-dataentry/pom.xml	2010-02-22 14:04:08 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/pom.xml	2010-03-11 10:23:21 +0000
@@ -10,7 +10,7 @@
   </parent>
   
   <artifactId>dhis-web-dataentry</artifactId>
-  <packaging>war</packaging>
+  <packaging>jar</packaging>
   <name>DHIS Data Entry</name>
   
   <build>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties	2010-01-29 17:10:33 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties	2010-03-11 10:23:21 +0000
@@ -115,4 +115,5 @@
 interpolation						= Interpolation
 validation_rule						= Validation rule
 the_following_values_are_outliers   = The following values are considered as outliers (min-max or std dev).
-no_outlier_values_found				= No outlier values found.
\ No newline at end of file
+no_outlier_values_found				= No outlier values found.
+invalid_date						= Input invalid date
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml	2010-01-28 23:08:44 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml	2010-03-11 10:23:21 +0000
@@ -4,208 +4,230 @@
 "http://struts.apache.org/dtds/struts-2.0.dtd";>
 <struts>
 
-  <include file="dhis-web-commons.xml"/>
-  
-  <package name="dhis-web-dataentry" extends="dhis-web-commons"
-    namespace="/dhis-web-dataentry">
-    
-    <action name="index" class="org.hisp.dhis.de.action.EmptyAction">
-      <result name="success" type="redirect">select.action</result>
-    </action>
-    
-    <action name="select" class="org.hisp.dhis.de.action.SelectAction">
-      <interceptor-ref name="organisationUnitTreeStack"/>
-      <result name="defaultform" type="chain">defaultform</result>
-      <result name="sectionform" type="chain">sectionform</result>
-      <result name="multidimensionalform" type="chain">multidimensionalform</result>
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-dataentry/select.vm</param>
-      <param name="menu">/dhis-web-dataentry/menu.vm</param>
-      <param name="menuTreeHeight">420</param>
-      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/general.js,javascript/form.js</param>
-      <param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
-    </action>
-	  	  
-	<action name="nextPeriods" class="org.hisp.dhis.de.action.NextPeriodsAction">
-      <result name="success" type="redirect">select.action</result>
-    </action>
-    
-    <action name="previousPeriods" class="org.hisp.dhis.de.action.PreviousPeriodsAction">
-      <result name="success" type="redirect">select.action</result>
-    </action>
-    
-    <action name="defaultform" class="org.hisp.dhis.de.action.FormAction">
-      <interceptor-ref name="organisationUnitTreeStack"/>
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-dataentry/form.vm</param>
-      <param name="menu">/dhis-web-dataentry/menu.vm</param>
-      <param name="menuTreeHeight">420</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js,
-        javascript/general.js,javascript/form.js,
-        javascript/form.js,../dhis-web-commons/calendar/calendar.js,
-        ../dhis-web-commons/calendar/calendar-lang.js,
-        ../dhis-web-commons/calendar/calendar-setup.js
-      </param>
-      <param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
-    </action>
-    
-    <action name="sectionform" class="org.hisp.dhis.de.action.SectionFormAction">
-      <interceptor-ref name="organisationUnitTreeStack"/>
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-dataentry/section/form.vm</param>
-      <param name="menu">/dhis-web-dataentry/menu.vm</param>
-      <param name="menuTreeHeight">420</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js,
-        javascript/general.js,javascript/form.js,
-        ../dhis-web-commons/calendar/calendar.js,
-        ../dhis-web-commons/calendar/calendar-lang.js,
-        ../dhis-web-commons/calendar/calendar-setup.js
-      </param>
-      <param name="stylesheets">style/dhis-web-dataentry.css</param>
-    </action>
-    
-    <action name="multidimensionalform" class="org.hisp.dhis.de.action.multidimensional.FormAction">
-      <interceptor-ref name="organisationUnitTreeStack"/>
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-dataentry/multidimensional/form.vm</param>
-      <param name="menu">/dhis-web-dataentry/menu.vm</param>
-      <param name="menuTreeHeight">420</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js,
-        javascript/general.js,javascript/form.js,javascript/multidimensional.js,
-        ../dhis-web-commons/calendar/calendar.js,
-        ../dhis-web-commons/calendar/calendar-lang.js,
-        ../dhis-web-commons/calendar/calendar-setup.js
-      </param>
-      <param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
-    </action>    
-    
-    <action name="saveMultiDimensionalValue" class="org.hisp.dhis.de.action.multidimensional.SaveValueAction">
-      <result name="success" type="velocity">status.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
-    </action>
-    
-    <action name="saveValue" class="org.hisp.dhis.de.action.SaveValueAction">
-      <result name="success" type="velocity">status.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
-    </action>    
-    
-    <action name="saveComment" class="org.hisp.dhis.de.action.SaveCommentAction">
-      <result name="success" type="velocity">status.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
-    </action>
-    
-    <action name="saveMinMaxLimits"
-      class="org.hisp.dhis.de.action.SaveMinMaxLimitsAction">
-      <result name="success" type="httpheader">
-        <param name="status">204</param>
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAELEMENT_MINMAX_ADD,F_DATAELEMENT_MINMAX_UPDATE</param>
-    </action>
-    
-    <action name="removeMinMaxLimits"
-      class="org.hisp.dhis.de.action.RemoveMinMaxLimitsAction">
-      <result name="success" type="httpheader">
-        <param name="status">204</param>
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAELEMENT_MINMAX_DELETE</param>
-    </action>
-    
-    <action name="calculateCDEs"
-      class="org.hisp.dhis.de.action.CalculateCDEsAction">
-      <result name="success" type="velocity-xml">responseCalculateCDEs.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
-    </action>
-    
-    <action name="getDataElementOrder"
-      class="org.hisp.dhis.de.action.order.GetDataElementOrderAction">
-      <result name="success" type="velocity">/popup.vm</result>
-      <param name="page">/dhis-web-dataentry/order.vm</param>
-      <param name="javascripts">javascript/order.js</param>
-    </action>
-    
-    <action name="moveDataElementUp"
-      class="org.hisp.dhis.de.action.order.MoveDataElementUpAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="moveDataElementDown"
-      class="org.hisp.dhis.de.action.order.MoveDataElementDownAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="orderDataElementsByCode"
-      class="org.hisp.dhis.de.action.order.OrderDataElementsByCodeAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="orderDataElementsByEntry"
-      class="org.hisp.dhis.de.action.order.OrderDataElementsByEntryAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="orderDataElementsByName"
-      class="org.hisp.dhis.de.action.order.OrderDataElementsByNameAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="resetDataElementOrder"
-      class="org.hisp.dhis.de.action.order.ResetDataElementOrderAction">
-      <result name="success" type="chain">getDataElementOrder</result>
-      <param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
-    </action>
-    
-    <action name="viewHistory" class="org.hisp.dhis.de.action.HistoryAction">
-      <result name="success" type="velocity">/popup.vm</result>
-      <param name="page">/dhis-web-dataentry/history.vm</param>
-      <param name="javascripts">javascript/history.js</param>
-    </action>
-    
-    <action name="minMaxGeneration" class="org.hisp.dhis.de.action.MinMaxGeneratingAction">
-      <result name="success" type="velocity-xml">responseMinMaxGeneration.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_DATAELEMENT_MINMAX_ADD,F_DATAELEMENT_MINMAX_UPDATE</param>
-    </action>
-    
-    <action name="registerCompleteDataSet" class="org.hisp.dhis.de.action.RegisterCompleteDataSetAction">
-      <result name="success" type="velocity">/dhis-web-dataentry/responseVoid.vm</result>
-    </action>
-    
-    <action name="undoCompleteDataSet" class="org.hisp.dhis.de.action.UndoCompleteDataSetAction">
-      <result name="success" type="velocity">/dhis-web-dataentry/responseVoid.vm</result>
-    </action>
-    
-    <action name="validate" class="org.hisp.dhis.de.action.ValidationAction">
-      <result name="success" type="velocity">/popup.vm</result>
-      <result name="none" type="velocity">/popup.vm</result>
-      <param name="page">/dhis-web-dataentry/validationResult.vm</param>
-    </action>
-    
-    <action name="getValidationViolations" class="org.hisp.dhis.de.action.ValidationAction">
-      <result name="success" type="velocity-xml">/dhis-web-dataentry/responseSuccess.vm</result>
-      <result name="none" type="velocity-xml">/dhis-web-dataentry/responseNone.vm</result>
-    </action>
-	
-	<action name="markValueForFollowup" class="org.hisp.dhis.de.action.MarkForFollowupAction">
-	  <result name="success" type="velocity-xml">/dhis-web-dataentry/responseSuccess.vm</result>
-	</action>
-	
-	<action name="getHistoryChart" class="org.hisp.dhis.de.action.GetHistoryChartAction">
-		<result name="success" type="chart"></result>
-    </action>
-	
-  </package>
+	<include file="dhis-web-commons.xml" />
+
+	<package name="dhis-web-dataentry" extends="dhis-web-commons"
+		namespace="/dhis-web-dataentry">
+
+		<action name="index" class="org.hisp.dhis.de.action.EmptyAction">
+			<result name="success" type="redirect">select.action
+			</result>
+		</action>
+
+		<action name="select" class="org.hisp.dhis.de.action.SelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="defaultform" type="chain">defaultform
+			</result>
+			<result name="sectionform" type="chain">sectionform
+			</result>
+			<result name="multidimensionalform" type="chain">multidimensionalform
+			</result>
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-dataentry/select.vm</param>
+			<param name="menu">/dhis-web-dataentry/menu.vm</param>
+			<param name="menuTreeHeight">420</param>
+			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/general.js,javascript/form.js,
+				../dhis-web-commons/util/date.js</param>
+			<param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
+		</action>
+
+		<action name="nextPeriods" class="org.hisp.dhis.de.action.NextPeriodsAction">
+			<result name="success" type="redirect">select.action
+			</result>
+		</action>
+
+		<action name="previousPeriods" class="org.hisp.dhis.de.action.PreviousPeriodsAction">
+			<result name="success" type="redirect">select.action
+			</result>
+		</action>
+
+		<action name="defaultform" class="org.hisp.dhis.de.action.FormAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-dataentry/form.vm</param>
+			<param name="menu">/dhis-web-dataentry/menu.vm</param>
+			<param name="menuTreeHeight">420</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/general.js,javascript/form.js,
+				../dhis-web-commons/calendar/calendar.js,
+				../dhis-web-commons/calendar/calendar-lang.js,
+				../dhis-web-commons/calendar/calendar-setup.js,
+				../dhis-web-commons/util/date.js
+      </param>
+			<param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
+		</action>
+
+		<action name="sectionform" class="org.hisp.dhis.de.action.SectionFormAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-dataentry/section/form.vm</param>
+			<param name="menu">/dhis-web-dataentry/menu.vm</param>
+			<param name="menuTreeHeight">420</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/general.js,javascript/form.js,
+				../dhis-web-commons/calendar/calendar.js,
+				../dhis-web-commons/calendar/calendar-lang.js,
+				../dhis-web-commons/calendar/calendar-setup.js
+      </param>
+			<param name="stylesheets">style/dhis-web-dataentry.css</param>
+		</action>
+
+		<action name="multidimensionalform"
+			class="org.hisp.dhis.de.action.multidimensional.FormAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-dataentry/multidimensional/form.vm</param>
+			<param name="menu">/dhis-web-dataentry/menu.vm</param>
+			<param name="menuTreeHeight">420</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/general.js,javascript/form.js,javascript/multidimensional.js,
+				../dhis-web-commons/calendar/calendar.js,
+				../dhis-web-commons/calendar/calendar-lang.js,
+				../dhis-web-commons/calendar/calendar-setup.js
+      </param>
+			<param name="stylesheets">style/dhis-web-dataentry.css,style/custom_data_entry_form_styles.css</param>
+		</action>
+
+		<action name="saveMultiDimensionalValue"
+			class="org.hisp.dhis.de.action.multidimensional.SaveValueAction">
+			<result name="success" type="velocity">status.vm</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveValue" class="org.hisp.dhis.de.action.SaveValueAction">
+			<result name="success" type="velocity">status.vm</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveComment" class="org.hisp.dhis.de.action.SaveCommentAction">
+			<result name="success" type="velocity">status.vm</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveMinMaxLimits" class="org.hisp.dhis.de.action.SaveMinMaxLimitsAction">
+			<result name="success" type="httpheader">
+				<param name="status">204</param>
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAELEMENT_MINMAX_ADD,F_DATAELEMENT_MINMAX_UPDATE</param>
+		</action>
+
+		<action name="removeMinMaxLimits" class="org.hisp.dhis.de.action.RemoveMinMaxLimitsAction">
+			<result name="success" type="httpheader">
+				<param name="status">204</param>
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAELEMENT_MINMAX_DELETE</param>
+		</action>
+
+		<action name="calculateCDEs" class="org.hisp.dhis.de.action.CalculateCDEsAction">
+			<result name="success" type="velocity-xml">responseCalculateCDEs.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="getDataElementOrder"
+			class="org.hisp.dhis.de.action.order.GetDataElementOrderAction">
+			<result name="success" type="velocity">/popup.vm</result>
+			<param name="page">/dhis-web-dataentry/order.vm</param>
+			<param name="javascripts">javascript/order.js</param>
+		</action>
+
+		<action name="moveDataElementUp"
+			class="org.hisp.dhis.de.action.order.MoveDataElementUpAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="moveDataElementDown"
+			class="org.hisp.dhis.de.action.order.MoveDataElementDownAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="orderDataElementsByCode"
+			class="org.hisp.dhis.de.action.order.OrderDataElementsByCodeAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="orderDataElementsByEntry"
+			class="org.hisp.dhis.de.action.order.OrderDataElementsByEntryAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="orderDataElementsByName"
+			class="org.hisp.dhis.de.action.order.OrderDataElementsByNameAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="resetDataElementOrder"
+			class="org.hisp.dhis.de.action.order.ResetDataElementOrderAction">
+			<result name="success" type="chain">getDataElementOrder
+			</result>
+			<param name="requiredAuthorities">F_DATASET_ORDER_CHANGE</param>
+		</action>
+
+		<action name="viewHistory" class="org.hisp.dhis.de.action.HistoryAction">
+			<result name="success" type="velocity">/popup.vm</result>
+			<param name="page">/dhis-web-dataentry/history.vm</param>
+			<param name="javascripts">javascript/history.js</param>
+		</action>
+
+		<action name="minMaxGeneration" class="org.hisp.dhis.de.action.MinMaxGeneratingAction">
+			<result name="success" type="velocity-xml">responseMinMaxGeneration.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_DATAELEMENT_MINMAX_ADD,F_DATAELEMENT_MINMAX_UPDATE</param>
+		</action>
+
+		<action name="registerCompleteDataSet"
+			class="org.hisp.dhis.de.action.RegisterCompleteDataSetAction">
+			<result name="success" type="velocity">
+				/dhis-web-dataentry/responseVoid.vm</result>
+		</action>
+
+		<action name="undoCompleteDataSet"
+			class="org.hisp.dhis.de.action.UndoCompleteDataSetAction">
+			<result name="success" type="velocity">
+				/dhis-web-dataentry/responseVoid.vm</result>
+		</action>
+
+		<action name="validate" class="org.hisp.dhis.de.action.ValidationAction">
+			<result name="success" type="velocity">/popup.vm</result>
+			<result name="none" type="velocity">/popup.vm</result>
+			<param name="page">/dhis-web-dataentry/validationResult.vm</param>
+		</action>
+
+		<action name="getValidationViolations" class="org.hisp.dhis.de.action.ValidationAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-dataentry/responseSuccess.vm</result>
+			<result name="none" type="velocity-xml">/dhis-web-dataentry/responseNone.vm
+			</result>
+		</action>
+
+		<action name="markValueForFollowup" class="org.hisp.dhis.de.action.MarkForFollowupAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-dataentry/responseSuccess.vm</result>
+		</action>
+
+		<action name="getHistoryChart" class="org.hisp.dhis.de.action.GetHistoryChartAction">
+			<result name="success" type="chart"></result>
+		</action>
+
+	</package>
 </struts>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm	2009-12-09 12:01:02 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm	2010-03-11 10:23:21 +0000
@@ -7,7 +7,7 @@
 	    <td>
 	        <input type="button" id="completeButton" name="completeButton" value="$i18n.getString( 'complete' )" onclick="validateCompleteDataSet()"#if( $registration || $periods.size() == 0 ) disabled="disabled"#end>
 	        <input type="button" id="undoButton" name="undoButton" value="$i18n.getString( 'undo' )" onclick="undoCompleteDataSet()"#if( !$registration || $periods.size() == 0 ) disabled="disabled"#end>
-	        <input type="text" id="dateField" name="dateField" value="$!format.formatDate( $registrationDate )" style="width:160px"#if( $registration || $periods.size() == 0 ) disabled="disabled"#end>
+	        <input type="text" id="dateField" name="dateField" value="$!format.formatDate( $registrationDate )" style="width:160px"#if( $registration || $periods.size() == 0 ) disabled="disabled"#end onchange="checkDate(this.value); ">
 	        <div id="dateDiv" name="dateDiv" #if( $registration || $periods.size() == 0 ) style="display:none"#else style="display:inline"#end>
 	        <img src="../images/calendar_icon.gif" width="16" height="16" id="getDateField" cursor: pointer;" title="$i18n.getString( "date_selector" )" onmouseover="this.style.background='orange';" onmouseout="this.style.background=''">
 	        </div>
@@ -26,4 +26,18 @@
 <script type="text/javascript">
     var i18n_confirm_complete = '$encoder.jsEscape( $i18n.getString( "confirm_complete" ) , "'")';
     var i18n_confirm_undo = '$encoder.jsEscape( $i18n.getString( "confirm_undo" ) , "'")';
+	var i18n_invalid_date = '$encoder.jsEscape( $i18n.getString( "invalid_date" ) , "'")';
+	
+	function checkDate(value){
+		var bo = isDate(value,'$i18n.getString("format.date.label")');
+		if(!bo){
+			alert(i18n_invalid_date + "\n\n" + byId('dateField').value );			
+			var d = new Date(); 
+			var month = d.getMonth() + 1;
+			month = (month > 9) ? month: ('0'+ month);
+			var day = d.getDate();
+			day = (day > 9) ? day: ('0'+ day);
+			byId('dateField').value = d.getFullYear() + "-" + month + "-" + day;
+		} 
+	} 
 </script>