SpringMVC實現JSR303驗證

①添加相關jar包,其中hibernate-validator是驗證接口的實現:

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.1.0.Final</version>
</dependency>

②在springmvc配置文件中加入<mvc:annotation-driven/>語句。

③在驗證Bean的字段上加上要驗證的註解,這裏已字符串長短爲例子:

@Size(min = 3, max = 10, message = "名字長度在3到20之間!")
private String name;

④在controller中在請求bean前面加上javax.validation的@Valid註解,並且後面緊跟BindingResult對象,在方法中可以如下來處理錯誤信息:

public String login(@javax.validation.Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
    return "/user/login";
}

⑤在jsp中可以使用<form:errors/>標籤來顯示錯誤信息,錯誤信息就是Bean裏定義的message內容,jsp如下:

<form:form action="login" modelAttribute="user" method="post">
用戶名:<form:input type="text" path="name"/><form:errors path="name"/>
密 碼:<form:input type="password" path="password"/><form:errors path="password"/>
<button>登錄</button>
</form:form>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章