インターフェース Validator
- すべての既知のサブインターフェース:
SmartValidator
- すべての既知の実装クラス:
CustomValidatorBean
、LocalValidatorFactoryBean
、OptionalValidatorFactoryBean
、SpringValidatorAdapter
public interface Validator
アプリケーション固有のオブジェクトのバリデーター。
このインターフェースは、インフラストラクチャやコンテキストとは完全に切り離されています。つまり、Web 層、データアクセス層、その他の層のオブジェクトのみを検証することとは連動していません。そのため、アプリケーションのどのレイヤーでも使用でき、検証ロジックのカプセル化を第一級オブジェクトとして独自にサポートします。
UserLogin
インスタンスのさまざまな String
SE プロパティが空ではない(つまり、null
ではなく、完全に空白で構成されていない)こと、および存在するパスワードが少なくとも 'MINIMUM_PASSWORD_LENGTH'
であることを検証する、シンプルだが完全な Validator
実装を以下に示します。長さの文字。
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."); } } }
Validator
インターフェースとエンタープライズアプリケーションにおけるそのロールの詳細については、Spring リファレンスマニュアルも参照してください。
メソッドのサマリー
メソッドの詳細
supports
validate
指定されたtarget
オブジェクトを検証します。このオブジェクトは、supports(Class)
メソッドが通常true
を返した (または返すことになる)Class
SE である必要があります。提供された
errors
インスタンスは、通常、このバリデーターが参加する大規模なバインディングプロセスの一部として、結果として生じる検証エラーを報告するために使用できます。バインディングエラーは、通常、この呼び出しの前にerrors
インスタンスに事前登録されています。- パラメーター:
target
- 検証されるオブジェクトerrors
- 検証プロセスに関するコンテキスト状態- 関連事項: