diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java index fe11e839c..e62e66c1c 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java @@ -3,24 +3,32 @@ package com.opensymphony.xwork2.validator.validators; import com.opensymphony.xwork2.validator.ValidationException; /** - * ConditionalVisitorFieldValidator + * + * The ConditionalVisitorFieldValidator will forward validation to the VisitorFieldValidator + * only if the expression will evaluate to true. + * * + * + * + * * + *
+ * 
  * <field name="colleaguePosition">
- *   <field-validator type="fieldexpression" short-circuit="true">
- *     reason == 'colleague' and colleaguePositionID == '_CHOOSE_'
- *     <message>You must choose a position where you worked with this person,
- * or choose "Other..."</message>
- *   </field-validator>
- *   <field-validator type="conditionalvisitor">
- *     reason == 'colleague' and colleaguePositionID == 'OTHER'
- *     <message/>
- *   </field-validator>
+ *     <field-validator type="conditionalvisitor">
+ *         <param name="expression">reason == 'colleague' and colleaguePositionID == 'OTHER'</param>
+ *         <message>You must select reason Colleague and position Other</message>
+ *     </field-validator>
  * </field>
+ * 
+ * 
* * @author Matt Raible */ public class ConditionalVisitorFieldValidator extends VisitorFieldValidator { + private String expression; public void setExpression(String expression) { @@ -58,11 +66,9 @@ public class ConditionalVisitorFieldValidator extends VisitorFieldValidator { try { obj = getFieldValue(expression, object); - } - catch (ValidationException e) { + } catch (ValidationException e) { throw e; - } - catch (Exception e) { + } catch (Exception e) { // let this pass, but it will be logged right below } @@ -74,4 +80,5 @@ public class ConditionalVisitorFieldValidator extends VisitorFieldValidator { return answer; } + } \ No newline at end of file