0

我正在使用 struts 2 和验证注释。如果另一个是真或假,我需要验证一个必需的字段。我正在使用@RequiredStringValidator,但我意识到这个注释没有表达式属性。

    @Validations(requiredStrings =
{@RequiredStringValidator(type = ValidatorType.SIMPLE, fieldName = "username", message = "El Usuario es requerido",key="security.admin.user.username.required"),
 @RequiredStringValidator( type = ValidatorType.SIMPLE, fieldName = "password", message = "El Password es requerido",key="security.admin.user.password.required")}...

要验证的字段是“password”,但仅当“autoGeneratePassword”字段为 false 时才需要。

谢谢!

4

1 回答 1

1

对于需要表达式评估的验证,不要使用 SimpleRequiredStringValidation而是可以使用FieldExpressionValidatorExpressionValidator

一种使用方式:

@FieldExpressionValidator(fieldName="password",key="security.admin.user.password.required",message="El Password es requerido",expression="checkAutoPassword()")

private boolean checkAutoPassword(){
  return false;
}

您可以使用 OGNL 表达式来执行相同的操作。

于 2012-05-24T04:50:03.467 回答