0

私はStruts 2と検証アノテーションを使用しています。別のフィールドが true または false の場合に必要なフィールドを検証する必要があります。@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

式の評価を必要とする検証では、Simple を使用しないRequiredStringValidationでください。代わりに、FieldExpressionValidatorまたはを使用できます。ExpressionValidator

それを使用する1つの方法:

@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 に答える