0

サインアップフォームがあるとしましょう。フォームの入力が変更された場合、サーバーへのajax呼び出しを使用して、その値をその場で検証したいと思います。JSR 303検証を使用して、Beanの特定のプロパティのみを検証する機会はありますか?

サインアップフォームハンドラーは、受信したBeanを正常に検証しますが、Bean全体を送信する前にプロパティを確認する方法を見つけたいと思います。

簡単なアプローチは、プロパティの名前と値を受け取り、名前に基づいて値をチェックするサーバー側のメソッドを作成することですが、Beanにすでに定義されている制約を使用する方法があることを願っています。

たとえば、ユーザーがメールアドレスを入力して、次のプロパティに移動したとします。クライアントが呼び出しを行い、サーバーメソッドが提供された電子メールがすでに存在するかどうかを確認します。その場合、エラーが返され、クライアント側に表示されます。サインアッププロセスがより柔軟でユーザーフレンドリーになると思います

コメントは本当にありがたいです。

4

1 に答える 1

1

jsr-303バリデーターには、1つのプロパティのみを検証するためのメソッドがあります。

<T> java.util.Set<ConstraintViolation<T>> validateProperty(T object,
                                                           java.lang.String propertyName,
                                                           java.lang.Class<?>... groups)

メソッドパラメータに@Validを設定して自動的に呼び出すのではなく、Springに依存してバリデーターを直接使用できるように、バリデーターを挿入する必要があります。

于 2012-06-15T03:05:03.127 に答える