SpringMVC後台資料校正

來源:互聯網
上載者:User

標籤:jsp   provider   type   source   手機號   郵箱   contex   this   can   

第①步:引入依賴

 <!--資料校正-->        <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>

  

第②步:配置Spring.xml

<!--:參數方法名解析器-->   <bean id="methodNameResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">       <property name="prefix" value="/"/>       <property name="suffix" value=".jsp"/>   </bean>    <!--掃描包下所有的被標註的類-->    <context:component-scan base-package="cn.happy.day15Validator"/>    <!--配置驗證器-->    <bean id="myvalidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>    </bean>    <!--綁定驗證器-->    <mvc:annotation-driven validator="myvalidator"/>

  

第③步:實體類註解

 

package cn.happy.day15Validator;import org.hibernate.validator.constraints.NotEmpty;import javax.validation.constraints.Max;import javax.validation.constraints.Min;import javax.validation.constraints.Pattern;import javax.validation.constraints.Size;/** * Created by Administrator on 2018/3/31. */public class UserInfo {    /**     * Min:設定最小值     * Max:設定最大值     * Message:列印資訊     */    //指定年齡在18-120之間    @Min(value = 18,message = "年齡不能小於18歲")    @Max(value = 120,message = "年齡不能大於100歲")    private Integer age;    /**     * 三種驗證方式     * @NotEmpty  用於集合     * @NotNull   用於基本類型     * @NotBlank  用於參考型別     * @Size    設定大小     */    //非空驗證    @NotEmpty(message = "使用者名稱不可為空")    @Size(max = 20,min = 6,message = "使用者名稱不能大於20個字元或小於6個字元")    private String name;    /**     * @Pattern  rehexp匹配正則     */    @NotEmpty(message = "郵箱不可為空")    @Pattern(regexp = "^\\[email protected]\\w+/.\\w+$",message = "郵箱格式錯誤")    private String email;    @Pattern(regexp = "^1[35789]\\d{9}$",message = "手機號格式錯誤")    private String phone;    public String getPhone() {        return phone;    }    public void setPhone(String phone) {        this.phone = phone;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}

 

  

第④步:配置處理器

import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.BindingResult;import org.springframework.validation.FieldError;import org.springframework.web.bind.annotation.RequestMapping;import javax.validation.Valid;import java.text.SimpleDateFormat;import java.util.Date;/** * Created by Administrator on 2018/3/30. */@Controllerpublic class FirstController {    @RequestMapping("/first")    /**     * @Valid   驗證對象     * BindingResult  綁定結果     * Model    視圖對象     */    public String doFirst(@Valid UserInfo userInfo, BindingResult br, Model mv) throws Exception {        //判斷br中的錯誤數        if(br.getErrorCount()>0){  //證明至少有一個資料錯誤            //擷取資訊            FieldError name = br.getFieldError("name");            FieldError age = br.getFieldError("age");            FieldError phone = br.getFieldError("phone");            FieldError email = br.getFieldError("email");            //擷取錯誤資訊            if(name!=null){                String namemsg = name.getDefaultMessage();                //把錯誤資訊返回到頁面                mv.addAttribute("namemsg",namemsg);            }            if(age!=null){                String agemsg = age.getDefaultMessage();                mv.addAttribute("agemsg",agemsg);            }            if(phone!=null){                String phonemsg = phone.getDefaultMessage();                mv.addAttribute("phonemsg",phonemsg);            }            if(email!=null){                String emailmsg = email.getDefaultMessage();                mv.addAttribute("emailmsg",emailmsg);            }            //返回請求View            return "Validator";        }        return "doSecond";    }}

  配置完成!

 

SpringMVC後台資料校正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.