Author: kmorin Date: 2013-03-07 10:30:19 +0100 (Thu, 07 Mar 2013) New Revision: 559 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/559 Log: fixes #2091 [CONTROLE] Les r?\195?\168gles qui sont bloquantes au moment de la validation doivent apparaitre en warning ?\195?\160 la saisie. Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-03-07 09:07:31 UTC (rev 558) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-03-07 09:30:19 UTC (rev 559) @@ -9,15 +9,15 @@ %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the + published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public + + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/gpl-3.0.html>. #L% @@ -27,75 +27,125 @@ <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> - + <validators> - + + <field name='strata'> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ strata != null || subStrata != null || location != null ]]> + </param> + <message>tutti.validator.error.fishingOperation.strataLocation.required</message> + </field-validator> + </field> + + <field name='subStrata'> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ strata != null || subStrata != null || location != null ]]> + </param> + <message>tutti.validator.error.fishingOperation.strataLocation.required</message> + </field-validator> + </field> + + <field name='location'> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ strata != null || subStrata != null || location != null ]]> + </param> + <message>tutti.validator.error.fishingOperation.strataLocation.required</message> + </field-validator> + </field> + <field name="gearShootingStartDate"> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ gearShootingStartDate == null || isDateInCruise(gearShootingStartDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null + <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null || isValidDuration() ]]> </param> <message>tutti.validator.error.fishingOperation.dates.wrongTime</message> </field-validator> - + </field> <field name="gearShootingEndDate"> + <field-validator type="required" short-circuit="true"> + <message>tutti.validator.error.fishingOperation.date.end.required</message> + </field-validator> + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ gearShootingEndDate == null || isDateInCruise(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.endOutOfCruiseDates</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null + <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null || isValidDuration() ]]> </param> <message>tutti.validator.error.fishingOperation.dates.wrongTime</message> </field-validator> - + </field> - + <!--gear shooting start latitude validation --> <field name="gearShootingStartLatitude"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLatitude != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> <![CDATA[ - !"DD".equals(coordinateEditorType.toString()) || + !"DD".equals(coordinateEditorType.toString()) || ( -doubles.min <= gearShootingStartLatitude && gearShootingStartLatitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.outOfBounds</message> + </field-validator> - </field-validator> - </field> - + <field name="gearShootingStartLatitudeDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || ( + !"DMS".equals(coordinateEditorType.toString()) || ( ( -ints.min < getGearShootingStartLatitudeDegree() && getGearShootingStartLatitudeDegree() < ints.max ) || ( ( getGearShootingStartLatitudeDegree() == ints.max || getGearShootingStartLatitudeDegree() == -ints.min ) @@ -104,20 +154,30 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeDecimalDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( ( -ints.min < getGearShootingStartLatitudeDecimalDegree() && getGearShootingStartLatitudeDecimalDegree() < ints.max ) || ( ( getGearShootingStartLatitudeDecimalDegree() == ints.max || getGearShootingStartLatitudeDecimalDegree() == -ints.min ) @@ -126,15 +186,25 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -143,15 +213,25 @@ ( ints.min <= getGearShootingStartLatitudeMinute() && getGearShootingStartLatitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeDecimalMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -163,30 +243,50 @@ <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeSecond"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || + !"DMS".equals(coordinateEditorType.toString()) || ( ints.min <= getGearShootingStartLatitudeSecond() && getGearShootingStartLatitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting start longitude validation --> <field name="gearShootingStartLongitude"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLongitude != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> @@ -195,20 +295,30 @@ ( -doubles.min <= gearShootingStartLongitude && gearShootingStartLongitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || ( + !"DMS".equals(coordinateEditorType.toString()) || ( (-ints.min < getGearShootingStartLongitudeDegree() && getGearShootingStartLongitudeDegree() < ints.max) || ( ( getGearShootingStartLongitudeDegree() == ints.max || getGearShootingStartLongitudeDegree() == -ints.min ) @@ -217,20 +327,30 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDecimalDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( (-ints.min < getGearShootingStartLongitudeDecimalDegree() && getGearShootingStartLongitudeDecimalDegree() < ints.max) || ( ( getGearShootingStartLongitudeDecimalDegree() == ints.max || getGearShootingStartLongitudeDecimalDegree() == -ints.min ) @@ -239,15 +359,25 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -256,15 +386,25 @@ ( ints.min <= getGearShootingStartLongitudeMinute() && getGearShootingStartLongitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDecimalMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -276,11 +416,21 @@ <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeSecond"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -289,17 +439,27 @@ ( ints.min <= getGearShootingStartLongitudeSecond() && getGearShootingStartLongitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting end latitude validation --> - + <field name="gearShootingEndLatitude"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLatitude != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> @@ -308,21 +468,31 @@ ( -doubles.min <= gearShootingEndLatitude && gearShootingEndLatitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.outOfBounds</message> </field-validator> - + </field> - - + + <field name="gearShootingEndLatitudeDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || ( + !"DMS".equals(coordinateEditorType.toString()) || ( (-ints.min < getGearShootingEndLatitudeDegree() && getGearShootingEndLatitudeDegree() < ints.max) || ( ( getGearShootingEndLatitudeDegree() == ints.max || getGearShootingEndLatitudeDegree() == -ints.min ) @@ -331,20 +501,30 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeDecimalDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( (-ints.min < getGearShootingEndLatitudeDecimalDegree() && getGearShootingEndLatitudeDecimalDegree() < ints.max) || ( ( getGearShootingEndLatitudeDecimalDegree() == ints.max || getGearShootingEndLatitudeDecimalDegree() == -ints.min ) @@ -353,15 +533,25 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -370,15 +560,25 @@ ( ints.min <= getGearShootingEndLatitudeMinute() && getGearShootingEndLatitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeDecimalMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -390,11 +590,21 @@ <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeSecond"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -403,17 +613,27 @@ ( ints.min <= getGearShootingEndLatitudeSecond() && getGearShootingEndLatitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting end longitude validation --> - + <field name="gearShootingEndLongitude"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLongitude != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> @@ -422,15 +642,25 @@ ( -doubles.min <= gearShootingEndLongitude && gearShootingEndLongitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -444,15 +674,25 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDecimalDegree"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -466,15 +706,25 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -483,15 +733,25 @@ ( ints.min <= getGearShootingEndLongitudeMinute() && getGearShootingEndLongitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDecimalMinute"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -503,11 +763,21 @@ <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeSecond"> - + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -516,22 +786,68 @@ ( ints.min <= getGearShootingEndLongitudeSecond() && getGearShootingEndLongitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.second.outOfBounds</message> </field-validator> - + </field> - + <field name="trawlDistance"> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ trawlDistance == null || trawlDistance <= 5556 ]]> </param> <message>tutti.validator.error.fishingOperation.trawlDistance.tooLong</message> </field-validator> - + </field> + <field name="fishingOperationValid"> + + <field-validator type="required" short-circuit="true"> + <message>tutti.validator.error.fishingOperation.fishingOperationValid.required</message> + </field-validator> + + </field> + + <field name="recorderPerson"> + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ saisisseur != null && !saisisseur.isEmpty() ]]> + </param> + <message>tutti.validator.error.fishingOperation.catcher.required</message> + </field-validator> + + </field> + + <field name="vessel"> + + <field-validator type="required" short-circuit="true"> + <message>tutti.validator.error.fishingOperation.vessel.required</message> + </field-validator> + + </field> + + <field name="gear"> + + <field-validator type="required" short-circuit="true"> + <message>tutti.validator.error.fishingOperation.gear.required</message> + </field-validator> + + </field> + + <field name="comment"> + + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ fishingOperationValid == null || fishingOperationValid || (comment != null && !comment.isEmpty()) ]]> + </param> + <message>tutti.validator.error.fishingOperation.comment.required</message> + </field-validator> + + </field> + </validators> Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-07 09:07:31 UTC (rev 558) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-07 09:30:19 UTC (rev 559) @@ -163,6 +163,16 @@ <field name="gearShootingStartLatitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLatitude != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> @@ -182,6 +192,16 @@ <field name="gearShootingStartLatitudeDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> @@ -205,6 +225,16 @@ <field name="gearShootingStartLatitudeDecimalDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> @@ -228,6 +258,16 @@ <field name="gearShootingStartLatitudeMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -247,6 +287,16 @@ <field name="gearShootingStartLatitudeDecimalMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -265,6 +315,16 @@ <field name="gearShootingStartLatitudeSecond"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -286,6 +346,16 @@ <field name="gearShootingStartLongitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLongitude != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> @@ -305,6 +375,16 @@ <field name="gearShootingStartLongitudeDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -328,6 +408,16 @@ <field name="gearShootingStartLongitudeDecimalDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -351,6 +441,16 @@ <field name="gearShootingStartLongitudeMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -370,6 +470,16 @@ <field name="gearShootingStartLongitudeDecimalMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -388,6 +498,16 @@ <field name="gearShootingStartLongitudeSecond"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.start.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -409,6 +529,16 @@ <field name="gearShootingEndLatitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLatitude != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> @@ -429,6 +559,16 @@ <field name="gearShootingEndLatitudeDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> @@ -452,6 +592,16 @@ <field name="gearShootingEndLatitudeDecimalDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> @@ -475,6 +625,16 @@ <field name="gearShootingEndLatitudeMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -494,6 +654,16 @@ <field name="gearShootingEndLatitudeDecimalMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -512,6 +682,16 @@ <field name="gearShootingEndLatitudeSecond"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.latitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -533,6 +713,16 @@ <field name="gearShootingEndLongitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLongitude != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> @@ -552,6 +742,16 @@ <field name="gearShootingEndLongitudeDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -575,6 +775,16 @@ <field name="gearShootingEndLongitudeDecimalDegree"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalDegree() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -598,6 +808,16 @@ <field name="gearShootingEndLongitudeMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> @@ -617,6 +837,16 @@ <field name="gearShootingEndLongitudeDecimalMinute"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalMinute() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -635,6 +865,16 @@ <field name="gearShootingEndLongitudeSecond"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ + !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeSecond() != null + ]]> + </param> + + <message>tutti.validator.error.longitude.end.required</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-07 09:07:31 UTC (rev 558) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-07 09:30:19 UTC (rev 559) @@ -565,6 +565,10 @@ tutti.validator.error.fishingOperation.trawlDistance.tooLong=La distance du trait dépasse 3 milles marin (5556 m), merci de vérifier les coordonnées tutti.validator.error.fishingOperation.trawlNetNumber.required=Le numéro de poche est obligatoire tutti.validator.error.fishingOperation.vessel.required=Le navire est obligatoire +tutti.validator.error.latitude.end.required=La latitude de fin de traîne est obligatoire +tutti.validator.error.latitude.start.required=La latitude de début de traîne est obligatoire +tutti.validator.error.longitude.end.required=La longitude de fin de traîne est obligatoire +tutti.validator.error.longitude.start.required=La longitude de début de traîne est obligatoire tutti.validator.error.program.comment.required=Le commentaire de la série est obligatoire tutti.validator.error.program.existingKey=Le couple nom/zone existe déjà tutti.validator.error.program.name.required=Le nom de la série est obligatoire