成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

SpringBoot非官方教程 | 第十九篇: 驗證表單信息

rottengeek / 3138人閱讀

這篇文篇主要簡述如何在springboot中驗證表單信息。在springmvc工程中,需要檢查表單信息,表單信息驗證主要通過注解的形式。

構(gòu)建工程

創(chuàng)建一個springboot工程,由于用到了 web 、thymeleaf、validator、el,引入相應(yīng)的起步依賴和依賴,代碼清單如下:

      
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.hibernate
            hibernate-validator
        
        
            org.apache.tomcat.embed
            tomcat-embed-el
        
    
創(chuàng)建一個PresonForm的Object類
package com.forezp.entity;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
 * Created by fangzhipeng on 2017/4/19.
 */
public class PersonForm {

    @NotNull
    @Size(min=2, max=30)
    private String name;

    @NotNull
    @Min(18)
    private Integer age;

    public String getName() {
        return this.name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String toString() {
        return "Person(Name: " + this.name + ", Age: " + this.age + ")";
    }
}

這個實體類,在2個屬性:name,age.它們各自有驗證的注解:

@Size(min=2, max=30) name的長度為2-30個字符
@NotNull 不為空
@Min(18)age不能小于18
創(chuàng)建 web Controller
@Controller
public class WebController extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/results").setViewName("results");
    }

    @GetMapping("/")
    public String showForm(PersonForm personForm) {
        return "form";
    }

    @PostMapping("/")
    public String checkPersonInfo(@Valid PersonForm personForm, BindingResult bindingResult) {

        if (bindingResult.hasErrors()) {
            return "form";
        }

        return "redirect:/results";
    }
}
創(chuàng)建form表單

src/main/resources/templates/form.html:


    
        
Name: Name Error
Age: Age Error
注冊成功的頁面

src/main/resources/templates/results.html:

html>
    
        Congratulations! You are old enough to sign up for this site.
    


演示

啟動工程,訪問http://localhost:8080/:

如果你輸入A和15,點擊 submit:

如果name 輸入N, age為空:

如果輸入:forezp. 18

參考資料

https://spring.io/guides/gs/v...

源碼下載

https://github.com/forezp/Spr...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/71445.html

相關(guān)文章

  • SpringBoot官方教程 | 第九篇SpringBoot整合Redis

    摘要:經(jīng)過上述兩步的操作,你可以訪問數(shù)據(jù)了。數(shù)據(jù)訪問層通過來訪問分鐘過期單元測試啟動單元測試,你發(fā)現(xiàn)控制臺打印了單元測試通過源碼下載參考資料 這篇文章主要介紹springboot整合redis 引入依賴 在pom文件中添加redis依賴: org.springframework.boot spring-boot-starter-data-redis 配置數(shù)據(jù)源 spri...

    csRyan 評論0 收藏0
  • SpringBoot官方教程 | 第十二篇:springboot集成apidoc

    摘要:首先聲明下,是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語言,為了系列的完整性,所以標(biāo)了個題。二準(zhǔn)備工作安裝完安裝它的項目源碼。輸命令輸入目錄輸出目錄是我的工程名。 首先聲明下,apidoc是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語言,為了springboot系列的完整性,所以標(biāo)了個題。 一、apidoc簡介 apidoc通過在你代碼的注釋來生成ap...

    xiaoxiaozi 評論0 收藏0
  • SpringBoot官方教程 | 第十一篇:SpringBoot集成swagger2,構(gòu)建優(yōu)雅的R

    摘要:另外很容易構(gòu)建風(fēng)格的,簡單優(yōu)雅帥氣,正如它的名字。配置一些基本的信息。三寫生產(chǎn)文檔的注解通過注解表明該接口會生成文檔,包括接口名請求方法參數(shù)返回信息的等等。四參考資料中使用構(gòu)建強大的文檔 swagger,中文拽的意思。它是一個功能強大的api框架,它的集成非常簡單,不僅提供了在線文檔的查閱,而且還提供了在線文檔的測試。另外swagger很容易構(gòu)建restful風(fēng)格的api,簡單優(yōu)雅帥氣...

    荊兆峰 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<