2011-08-12 7 views
1

私はspring.know注釈に検証を操作するためのダウンロードブローコードで例えば私のクラスでは不明であるべきか:私は、JSR-303規格に仕事のためにダウンロードする必要があります.whichライブラリ春にjsr-303を使って作業するにはどうすればいいですか?

public String register2(@Valid User user , BindingResult br) 
    { 
     if(br.hasErrors()) 
     { 
      return "edit"; 
     } 
     //System.out.println("you registers!"); 
     return "thanks"; 
    } 

@Validが不明です春mcvで?どこからダウンロードすればいいですか? と私はどのようにセットアップを食べてhelious? おかげ

EDIT:MY CODE追加=>

私のコントローラ=>

package codes; 

import java.util.Map; 

import javax.validation.Valid; 
import javax.validation.Validator; 

import org.apache.jasper.tagplugins.jstl.core.Out; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.ui.Model; 
import org.springframework.validation.BindingResult; 
import org.springframework.validation.BindingResultUtils; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.portlet.ModelAndView; 


@org.springframework.stereotype.Controller 

public class Controller { 


    @RequestMapping(value="/register/" , method=RequestMethod.GET) 
    public String register(Model model) 
    { 
     model.addAttribute("myUser",new User()); 
     return "edit"; 
    } 
    @RequestMapping(value="/register/" , method=RequestMethod.POST) 
    public String register2(ModelAndView model,@Valid User myUser , BindingResult br) 
    { 

     try 
     { 
     if(br.hasErrors()) 
     { 

      return "edit"; 
     } 
     else 
     { 
      System.out.println(myUser); 
      System.out.println(myUser.getName()); 
      System.out.println(myUser.getFamily()); 
      System.out.println("salam"); 
      return "thanks"; 
     } 
     } 
     catch (Exception e) { 
      // TODO: handle exception 
      System.out.println(e.getMessage()); 
     } 
     return "thanks"; 
    } 

} 

私のedit.jspページ(フォーム)=>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@taglib prefix="sf" uri="http://www.springframework.org/tags/form" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Register</title> 
</head> 
<body> 
<div> 

<sf:form method="post" modelAttribute="myUser" > 


<label for="USER_NAME">name:</label> 
<sf:input path="name" id="USER_NAME"/> 
<sf:errors path="name" ></sf:errors> 
<br> 
<label for="USER_FAMILY">family:</label> 
<sf:input path="family" id="USER_FAMILY"/> 
<br> 
<input type="submit" value="REGISTER" /> 



</sf:form> 




</div> 



</body> 
</html> 

注:唯一の私ユーザーオブジェクトはinvalideです。私は例外を取得し、有効なときに私は例外を与えません。

答えて

2

Hibernate Validatorを使用できます。

は、それを実行するには、プロジェクトにこれらのjarファイルを追加する必要があります。

  • 休止-バリ*の.jar
  • 検証-API *の.jar
  • SLF4J-API *の.jar

これらはすべてHibernate Validator packageにあります。

+0

私はこれらのすべてを追加しますが、私は以下を与えます:java.lang.NoSuchMethodError:org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder; –

+0

slf4j-log4j * .jarとlog4j * .jarも追加してみてください。 – craftsman

+0

私はtomcatで実行すると次のようになります:log4j:WARN logger(org.apache.commons.digester.Digester.sax)のアペンダーは見つかりませんでした。 log4j:WARN log4jシステムを適切に初期化してください。 log4j:WARN詳細については、http://logging.apache.org/log4j/1.2/faq.html#noconfigを参照してください。 jbossで実行したときにjava.lang.IllegalStateExceptionが返されました:BindingResultも、Bean名 'user'のプレーン・ターゲット・オブジェクトもリクエスト属性として利用できません –

関連する問題