1

春の単純なフォームに問題があり、hibenate バリデーターを使用してフォームを検証します。

 <form:form method="POST" commandName="info">

     username:<form:input path="username"/> <form:errors path="username"></form:errors>
     password:<form:password path="password"/><form:errors path="password"></form:errors> 
     <input type="submit" value="add new writer">
  </form:form>

フォームの私のコントローラー:

@RequestMapping(method=RequestMethod.POST,value={"/createnewuser"})
public String showCreateNewUserFrom( @javax.validation.Valid   Information info,Model model,BindingResult br)
{
    //System.out.println("hello post");
    if(br.hasErrors())
    {

        return "admin/createuserform";
    }
    else
    return "admin/createuserform";
}

私の問題は、例外をスローするフォームが無効であるときです!!エラーのjspビューが必要です

org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 errors
Field error in object 'information' on field 'username': rejected value [vc]; codes [Size.information.username,Size.username,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [information.username,username]; arguments []; default message [username],10,4]; default message [username must be at least 4 and at most 10 character]
Field error in object 'information' on field 'password': rejected value [fg]; codes [Size.information.password,Size.password,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [information.password,password]; arguments []; default message [password],8,5]; default message [username must be at least 5 and at most 8 character]

私はどんな助けにも本当に素晴らしいです

4

1 に答える 1

0

ドキュメントから:

Errors または BindingResult パラメーターは、すぐにバインドされるモデル オブジェクトに従う必要があります。これは、メソッド シグネチャに複数のモデル オブジェクトが含まれている可能性があり、Spring がそれぞれに対して個別の BindingResult インスタンスを作成するためです [...] これを機能させるには、パラメータを並べ替える [...]

あなたのケースのように見えます..

于 2011-08-29T06:47:26.540 に答える