validatorsをSpring MVCフレームワークの下で記述しようとしていますが、ドキュメントには目立たない省略があります。 Errorsオブジェクトにエラーを渡す呼び出しでは、ほとんどのメソッドでerrorCodeというStringパラメータが必要です。これらのエラーコードは、私が正しく理解するならば、特定のエラーメッセージのためのスタンドとして役立ちます。しかし、私は、これらのコードがどこにマップされているのかを理解することはできません。Spring MVC検証エラーコードはどこで解決されましたか?
ここでは、Spring MVCのJavadocから引用している例を示します。
public class UserLoginValidator implements Validator {
private static final int MINIMUM_PASSWORD_LENGTH = 6;
public boolean supports(Class clazz) {
return UserLogin.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "field.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "field.required");
UserLogin login = (UserLogin) target;
if (login.getPassword() != null
&& login.getPassword().trim().length() < MINIMUM_PASSWORD_LENGTH) {
errors.rejectValue("password", "field.min.length",
new Object[]{Integer.valueOf(MINIMUM_PASSWORD_LENGTH)},
"The password must be at least [" + MINIMUM_PASSWORD_LENGTH + "] characters in length.");
}
}
}
誰でも私を啓発できますか?
この情報をお寄せいただきありがとうございます。これで私のバリデーターを利用することができます。しかし、私がカスタムMessageCodeResolverで再結びたいと思ったら、どうすればいいのかを学ぶために、どこに行くのですか?また、繁栄のためにResourceBundleMessageSourceのjavadocはhttp://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/support/ResourceBundleMessageSource.htmlにあります。 –
カスタムMessageCodeResolverを使用する場合は、特定のコントローラに1つを割り当てることができます。 1つのアプローチは、ここで説明するように、Bean継承を使用して、すべてのコントローラBeanを1つのコントローラBean定義から継承させることです。http://forum.springsource.org/showthread.php?t=46336現在、方法はありませんカスタムMessageCodeResolverをグローバルに定義する。 https://jira.springsource.org/browse/SPR-5187 –
参考までに、グローバルなカスタムMessageCodeResolver機能は、最終的にSpring 3.1(2011)に実装されました。 [SPR-6506](https://jira.spring.io/browse/SPR-6506)も参照してください。 – vallismortis