數據校驗

學習這條路沒有捷徑可走。願咱們一直堅持不懈的走下去,初心不忘!java

數據校驗 也叫 數據驗證spring

比較經常使用的 Hibernate validaterapi

1.引jar包  4個mvc

 

<!--數據驗證-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.1.GA</version>
</dependency>

<!--jboss logging-->
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
</dependency>

<!--validation api-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>

<!--slf4j api 日誌接口-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
2.配置驗證器
<!-- 驗證器 -->
<bean id="myValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>

</bean>
<!-- MVC註解驅動 -->
<mvc:annotation-driven validator="myValidator"></mvc:annotation-driven>

3在Model上打標記
public class UserInfo {
//需是0~100之間
@Min(value = 0,message = "成績最小值爲{value}")
@Max(value = 100,message = "成績最大值爲{value}")
private Integer score;

@NotEmpty(message = "用戶不能爲空")
@Size(min = 4,message = "名稱至少4個")
private String name;

@NotEmpty(message = "手機號不能爲空")
@Pattern(regexp = "^1[3,4,5,6,7,8,9]\\d{9}$",message = "手機號碼不正確")
private String phone;

public Integer getScore() {
return score;
}

public void setScore(Integer score) {
this.score = score;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPhone() {
return phone;
}

public void setPhone(String phone) {
this.phone = phone;
}
}

4 在Controller方法中
植入二個參數app


@Controller
public class FirstController {
@RequestMapping("/first")
public ModelAndView doFirst(@Valid UserInfo info, BindingResult br) {
ModelAndView mv = new ModelAndView();
mv.setViewName("/WELCOME.jsp");
//偵測錯誤驗證總數的方法
int errorcount = br.getErrorCount();
if (errorcount > 0) {
FieldError score = br.getFieldError("score");
FieldError name = br.getFieldError("name");
FieldError phone = br.getFieldError("phone");

if (score != null) {
mv.addObject("scoremsg", score.getDefaultMessage());
}
if (name != null) {
mv.addObject("namemsg", name.getDefaultMessage());
}
if (phone != null) {
mv.addObject("phonemsg", phone.getDefaultMessage());
}
mv.setViewName("/index.jsp");
}
return mv;

}
}
相關文章
相關標籤/搜索