spring后台数据校验

 

   先导入包  

 pom文件给你 

  <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.3.1.Final</version>
        </dependency>

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

 

页面也给你 

<h1>数据校验</h1>
<form action="/register" method="post">
    年龄:<input name="userage" /> <span>${agemsg }</span><br/><br/>
    姓名:<input name="username"/><span>${namemsg }</span><br/><br/>
    电话:<input name="userphone"/><span>${phonemsg }</span><br/><br/>
    出生日期:<input name="birthday"/> <span>${birthdaymsg}</span><br/><br/>
    邮箱:<input name="email"/> <span>${emailmsg}</span><br/><br/>
    <input type="submit" value="注册"/>
</form>

 

     数据验证 , 对后台模型的验证,实体类属性的属性 

那我实体类也给一给 

public class Userinfo {

    @NotNull(message = "用户名不能为空")
    @Size(min =6 ,max = 20,message = "name long {min}-{max}")
    private String username;


  @Max(value = 150,message = "最老150岁")
  @Min(value = 0,message = "最小0岁")
    private Integer userage;

    @NotNull(message = "出生日期不能为空")
    @DateTimeFormat(style = "yyyy-MM-dd")
    private Date brithday;


    @NotNull(message = "电话号码不能为空")
    @Pattern(regexp = "1[3|5|7|9|8]\\d{9}",message = "手机格式不正确")
    private  String userphone;

    @NotNull(message = "邮箱名不能为空")
    @Pattern(regexp = "^\\w+@\\w+\\.\\w+$",message = "邮箱格式不正确")
    private String email;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getUserage() {
        return userage;
    }

    public void setUserage(Integer userage) {
        this.userage = userage;
    }

    public Date getBrithday() {
        return brithday;
    }

    public void setBrithday(Date brithday) {
        this.brithday = brithday;
    }

    public String getUserphone() {
        return userphone;
    }

    public void setUserphone(String userphone) {
        this.userphone = userphone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

   message ,验证失败提醒   

  

@Pattern  正则表达式的书写    @max  @min 最大最小  @size 长度 


spring的配置文件进行 生成器验证器
<bean id="jk" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
    </bean>

   <mvc:annotation-driven validator="jk"/>

现在进行   验证的书写 

  @RequestMapping("/register")
    public  String valid(@Valid Userinfo userinfo, BindingResult br,Model model){
    System.out.println("1111111111111");
    if (br.getErrorCount()>0){
        System.out.println("222222222");
        FieldError userage = br.getFieldError("userage");
        FieldError username = br.getFieldError("username");
        FieldError userphone = br.getFieldError("userphone");
        FieldError brithday = br.getFieldError("brithday");
        FieldError email = br.getFieldError("email");

        if(userage!=null){
            String defaultMessage = userage.getDefaultMessage();
            model.addAttribute("userage",defaultMessage);
        }
        if(username!=null){
            String defaultMessage = username.getDefaultMessage();
            model.addAttribute("username",defaultMessage);
        }
        if(userphone!=null){
            String defaultMessage = userphone.getDefaultMessage();
            model.addAttribute("userphone",defaultMessage);
        }
        if(brithday!=null){
            String defaultMessage = brithday.getDefaultMessage();
            model.addAttribute("brithday",defaultMessage);
        }
        if(email!=null){
            String defaultMessage = email.getDefaultMessage();
            model.addAttribute("email",defaultMessage);
        }



    }


    return  "ax";
}

  

这就是全部,自己试一下 , 不懂评论,会回复的

 



 

posted on 2018-04-02 08:30  LWJDD  阅读(551)  评论(0编辑  收藏  举报

导航