model名にValidatorを付けたものを利用する。

すぐ上のモデルにvalidatorメソッドを付けると、入力バリデーションはいけるけど、DBとのデータの、たとえばすでに同じ名前が登録されているかなどのバリデーションが難しい。
そのためモデル名validatorを@Component作成してDIを利用してチェックするのが良さそう。

上で使っていたUserRegistrationBeanWebflowFormをvalidatorに移した場合こんな感じになった。


@Component
public class UserRegistrationBeanWebflowFormValidator {

public void validateSocial(UserRegistrationBeanWebflowForm userRegistrationBeanWebflowForm,ValidationContext validationContext){
MessageContext messageContext = validationContext.getMessageContext();
}

}