整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          一行代碼搞定整站的前端表單驗證!

          一行代碼搞定整站的前端表單驗證!

          能簡介:

          • 可以在input上直接綁定正則,可以自定義datatype,自定義datatype可以是正則,也可以是函數(shù),datatype可以累加或單選,甚至還可以對datatype規(guī)則執(zhí)行簡單的邏輯運算。內置10類常見的格式驗證;

          • 可以自定義提示方式,可以實現(xiàn)你想要的任何提示效果。內置了4種常見的提示方式;

          • 可以對表單下的某一塊區(qū)域或具體的某個表單元素單獨進行驗證,并可以選擇驗證后需不需要顯示出錯信息,還能得到一個值來判斷被檢測對象是否通過了驗證;

          • 可以輕松的取消或恢復對表單下的某一塊區(qū)域或具體的某個表單元素的驗證;

          • 強大的ajax功能,很輕松的可以實現(xiàn)實時驗證以及表單的ajax提交;可以靈活的設置ajax提交時的參數(shù);

          • 智能的出錯信息提示:會根據(jù)綁定的datatype輸出相應的出錯信息,另外還可以在自定義datatype里返回具體的出錯信息,錯誤信息里可以使用html標簽,如果頁面里沒有顯示出錯信息的標簽,會根據(jù)tiptype值自動創(chuàng)建。可以選擇在沒有輸入時不提示和只在提交表單時有信息提示。可以選擇一次提示單個錯誤或一次顯示全部出錯信息。可以自己設置默認的提示文字;

          • 可以在表單開始檢測前和表單檢測通過后,提交表單之前綁定事件;

          • 當前版本外調插件可以實現(xiàn)文件上傳檢測、密碼強度檢測、日期控件和表單美化效果;

          • 豐富的Validform對象的屬性和方法,給你的驗證操作帶來無限的可能。

          Validform使用入門

          1、引入css

          請查看下載文件中的style.css,把里面Validform必須部分復制到你的css中(文件里這個注釋 "/*==========以下部分是Validform必須的===========*/" 之后的部分是必須的)。之前發(fā)現(xiàn)有部分網(wǎng)友把整個style.css都引用在了頁面里,然后發(fā)現(xiàn)樣式?jīng)_突了。

          2、引入js (jquery 1.4.3 以上版本都可以)

          <script type="text/javascript" src="http://validform.rjboy.cn/wp-content/themes/validform/js/jquery-1.6.2.min.js"></script>

          <script type="text/javascript" src="http://validform.rjboy.cn/Validform/v5.1/Validform_v5.1_min.js"></script>

          3、給需要驗證的表單元素綁定附加屬性

          <form class="demoform">

          <input type="text" value="" name="name" datatype="s5-16" errormsg="昵稱至少5個字符,最多16個字符!" />

          </form>

          4、初始化,就這么簡單

          <script type="text/javascript">

          $(function(){

          $(".demoform").Validform();

          })

          </script>

          官方下載地址:http://validform.rjboy.cn/download.html

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

          構建工程

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

          <dependencies>

          <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-web</artifactId>

          </dependency>

          <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-test</artifactId>

          <scope>test</scope>

          </dependency>

          <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-thymeleaf</artifactId>

          </dependency>

          <dependency>

          <groupId>org.hibernate</groupId>

          <artifactId>hibernate-validator</artifactId>

          </dependency>

          <dependency>

          <groupId>org.apache.tomcat.embed</groupId>

          <artifactId>tomcat-embed-el</artifactId>

          </dependency>

          </dependencies>

          創(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:

          <html>

          <body>

          <form action="#" th:action="@{/}" th:object="${personForm}" method="post">

          <table>

          <tr>

          <td>Name:</td>

          <td><input type="text" th:field="*{name}" /></td>

          <td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td>

          </tr>

          <tr>

          <td>Age:</td>

          <td><input type="text" th:field="*{age}" /></td>

          <td th:if="${#fields.hasErrors('age')}" th:errors="*{age}">Age Error</td>

          </tr>

          <tr>

          <td><button type="submit">Submit</button></td>

          </tr>

          </table>

          </form>

          </body>

          </html>

          注冊成功的頁面

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

          <html>

          <body>

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

          </body>

          </html>

          演示

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

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

          如果name 輸入N, age為空:

          如果輸入:forezp. 18

          參考資料

          https://spring.io/guides/gs/validating-form-input/

          ## 利用forms表單組件進行表單校驗,完成用戶名,密碼,確認密碼,郵箱功能的校驗

          該作業(yè)包含了下面的知識點:

          error_messages,label,required,invalid,局部鉤子函數(shù),全局鉤子函數(shù),

          forms_obj.cleaned_data,forms_obj.errors,locals(),

          {{ forms.label }}:{{ forms }},{{ forms.errors.0 }}

          ### urls.py文件

          ```


          主站蜘蛛池模板: 无码一区二区三区老色鬼| 亚洲一区二区三区高清视频| 国产成人精品第一区二区| 日本一区二区三区不卡视频| 精品国产亚洲一区二区三区在线观看 | 一区二区精品在线观看| 日韩经典精品无码一区| 精品一区二区三区在线观看视频 | 黄桃AV无码免费一区二区三区| 日韩最新视频一区二区三| 好吊视频一区二区三区| 国产精品久久一区二区三区| 国产精品主播一区二区| 福利国产微拍广场一区视频在线| 亚洲视频在线一区| 亚洲日本中文字幕一区二区三区 | 日韩在线视频一区| 一区二区免费视频| 中文字幕一区二区免费| 精品国产AV无码一区二区三区| 无码视频一区二区三区在线观看 | 亚洲综合一区二区三区四区五区| 国产午夜精品一区理论片| 福利一区二区在线| 久久中文字幕无码一区二区| 一区二区三区亚洲| 国产午夜精品一区二区三区嫩草| 精品免费AV一区二区三区| 无码中文字幕乱码一区| 3d动漫精品啪啪一区二区免费| 在线精品亚洲一区二区三区| 高清一区高清二区视频| 日本无卡码免费一区二区三区| 亚洲一区二区三区国产精品无码| 国产AV午夜精品一区二区三区| 99精品久久精品一区二区| 国产成人综合精品一区| 色一情一乱一伦一区二区三区 | 无码一区二区三区免费| 国产伦精品一区二区三区| 亚洲国产一区二区视频网站|