ASP.NET MVC5驗(yàn)證系列之客戶端驗(yàn)證
前面學(xué)習(xí)了,服務(wù)端驗(yàn)證,這篇文章中,我們接著學(xué)習(xí)客戶端驗(yàn)證,客戶端的驗(yàn)證,使用Jquery和Jquery插件來實(shí)現(xiàn)【jquery.validate.min.js and jquery.validate.unobtrusive.min.js) 】
在服務(wù)端驗(yàn)證中,頁(yè)面必須要提交到服務(wù)器,進(jìn)行驗(yàn)證,如果數(shù)據(jù)驗(yàn)證不通過,服務(wù)器端就會(huì)發(fā)送一個(gè)響應(yīng)到客戶端,然后客戶端根據(jù)相應(yīng)的信息,進(jìn)行處理;而客戶端驗(yàn)證則不同,用戶輸入的數(shù)據(jù),只要一提交,客戶端就會(huì)進(jìn)行先驗(yàn)證,如果不通過就報(bào)錯(cuò),不會(huì)提交到服務(wù)器進(jìn)行驗(yàn)證,如果通過了,才會(huì)把請(qǐng)求傳到服務(wù)器端。
如果你是使用VS2012以上的版本,那么會(huì)自帶的啟用了客戶端驗(yàn)證的:【當(dāng)然你也可以手動(dòng)添加下面的配置?!?br />
<configuration> <appSettings> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> </configuration>
我們還是之前的項(xiàng)目:
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace Server_Side_Validation_IN_MVC.Models { public class StudentServer { [Required(ErrorMessage="Name為必填項(xiàng)")] public string Name { get; set; } [Required(ErrorMessage="電子郵件必須")] [EmailAddress(ErrorMessage="電子郵件格式不對(duì)")] public string Email { get; set; } } }
public ActionResult SeverSideIndex() { return View(); } [HttpPost] public ActionResult SeverSideIndex(StudentServer model) { if (ModelState.IsValid) { ViewBag.Name = model.Name; ViewBag.Email = model.Email; } return View(); }
不同的是,這里,我添加視圖,不一樣:
注意這里一定要勾選引用腳本庫(kù),也就是引入Jquery和Jquery插件,這樣才能進(jìn)行客戶端驗(yàn)證:
修改一下默認(rèn)路由:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Student", action = "SeverSideIndex", id = UrlParameter.Optional } ); }
運(yùn)行項(xiàng)目:
我們?cè)诳刂破鞯腜OST方法中添加一個(gè)斷點(diǎn)
直接點(diǎn)擊按鈕:沒有調(diào)用POST方法,直接在客戶端驗(yàn)證了數(shù)據(jù)的合法性。
輸入合法的數(shù)據(jù):
斷點(diǎn)觸發(fā)了,也就是說,在客戶端驗(yàn)證通過之后,才會(huì)提交到服務(wù)器進(jìn)行進(jìn)一步處理。
好了,這就是客戶端驗(yàn)證,比較簡(jiǎn)單。但注意要引入Jquery插件
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
DotNetCore深入了解之HttpClientFactory類詳解
這篇文章主要給大家介紹了關(guān)于DotNetCore深入了解之HttpClientFactory類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03在asp.net中獲取當(dāng)前頁(yè)面的URL的方法(推薦)
下面小編就為大家?guī)硪黄赼sp.net中獲取當(dāng)前頁(yè)面的URL的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存
本文詳細(xì)講解了ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進(jìn)度條)
在asp.net開發(fā)中,有很多可以上傳的組件模塊,利用HTML的File控件(uploadify)的上傳也是一種辦法,這里為大家介紹一下(uploadify)的一些使用方法2012-12-12.net開發(fā)中批量刪除記錄時(shí)實(shí)現(xiàn)全選功能的具體方法
這篇文章介紹了.net開發(fā)中批量刪除記錄時(shí)實(shí)現(xiàn)全選功能的具體方法,有需要的朋友可以參考一下2013-11-11