2011-03-02 2 views
1

@NotNullなどの注釈はJSR仕様書に記載されています。私は現在、私は混乱していますそのJSR Beanのバリデーションとは異なるスプリング検証です

に春のMVCや建物のウェブサイトを勉強していますよう

は今、彼らは同じでも異なっていて、彼らに春MVCを持つ任意の関係を持っています。

私は、春になる@NotEmptyを使用している場合.egのために、私はそれを残す場合は、空のそれはバリで我々のコードのようなエラーメッセージを表示してフォームに表示され、そのメッセージ

これは私の方法であることを知っているので、私は@Validを追加するのは混乱していました

public String add(@ModelAttribute("personAttribute") Person person) { 
     logger.debug("Received request to add new person"); 


     personService.add(person); 

     // This will resolve to /WEB-INF/jsp/addedpage.jsp 
     return "hibernate/addedpage"; 
    } 

答えて

1

Springフォームの検証は異なりますが、JSR-303の検証もサポートしています。あなたはあなたが必要となる

public String add(@Valid @ModelAttribute("personAttribute") Person person) { .. } 

(メソッドのパラメータとして) @Validでそれに注釈を付けることにより、モデル全体の属性を検証することができます。

  • 春にクラスパス
  • <mvc:annotation-driven />のJSR-303のプロバイダ-mvc xmlで検証を有効にする
+0

私はメソッドコードを追加しており、hibernateはオブジェクトをmysqlに追加しています。今のところ上記のコードで@valid –

+0

@Nameを書くことができます - 更新された内容を参照してください – Bozho

+0

私は試しましたが、検証は機能しませんでした。私は休止状態とmysqlを使用しています。私はそのメソッドでBIndingresultを使用する必要がありますか?また、私はハイバネートバリデーターまたはスプリングバリデーターを使用する必要があります。 JSRのための特別なjarファイルがありますか?それとも、休止状態になっていますか? –

関連する問題