可以在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對象的屬性和方法,給你的驗證操作帶來無限的可能。
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.它們各自有驗證的注解:
創(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文件
```
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。