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)證中,頁面必須要提交到服務(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();
}
不同的是,這里,我添加視圖,不一樣:

注意這里一定要勾選引用腳本庫,也就是引入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)文章
.Net中導(dǎo)出數(shù)據(jù)到Excel(asp.net和winform程序中)
.Net中導(dǎo)出數(shù)據(jù)到Excel包括以下兩種情況:asp.net中導(dǎo)出Excel的方法/winForm中導(dǎo)出Excel的方法,針對(duì)以上兩種情況做了下詳細(xì)的實(shí)現(xiàn)代碼,感興趣的朋友可不要錯(cuò)過了哈,希望本文對(duì)你有所幫助2013-02-02
詳解MVC中為DropDownListFor設(shè)置選中項(xiàng)的方法
這篇文章主要介紹了詳解MVC中為DropDownListFor設(shè)置選中項(xiàng)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
asp.net為網(wǎng)頁動(dòng)態(tài)添加關(guān)鍵詞的方法
這篇文章主要介紹了asp.net為網(wǎng)頁動(dòng)態(tài)添加關(guān)鍵詞的方法,可實(shí)現(xiàn)動(dòng)態(tài)添加keyword meta的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
asp.net實(shí)現(xiàn)的MD5加密和DES加解密算法類完整示例
這篇文章主要介紹了asp.net實(shí)現(xiàn)的MD5加密和DES加解密算法類,結(jié)合完整實(shí)例形式分析了asp.net實(shí)現(xiàn)MD5加密算法及DES加密和解密的相關(guān)技巧,需要的朋友可以參考下2016-07-07
Asp.net 彈出對(duì)話框基類(輸出alet警告框)
asp.net輸出alert警告框2008-11-11
使用 ServiceStack.Text 序列化 json的實(shí)現(xiàn)代碼
今天發(fā)篇文章總結(jié)下自己使用 ServiceStack.Text 來序列化 json。它的速度比 Newtonsoft.Json 快很多,在測(cè)試時(shí)發(fā)現(xiàn)比 fastJson 還快些2013-06-06
asp.net基礎(chǔ)學(xué)習(xí)之控件的使用方法
這篇文章主要為大家詳細(xì)介紹了asp.net基礎(chǔ)學(xué)習(xí)之控件的使用方法,感興趣的小伙伴們可以參考一下2016-08-08

