婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET MVC5驗證系列之Remote Validation

ASP.NET MVC5驗證系列之Remote Validation

熱門標簽:電銷專用外呼線路 廣西房產智能外呼系統推薦 400電話唐山辦理 漯河外呼調研線路 旅游地圖標注線路 電銷外呼系統是違法的嗎 地圖標注位置怎么弄圖 電話機器人鑰匙扣 威力最大的電銷機器人

大多數的開發者,可能會遇到這樣的情況:當我們在創建用戶之前,有必要去檢查是否數據庫中已經存在相同名字的用戶。換句話說就是,我們要確保程序中,只有一個唯一的用戶名,不能有重復的。相信大多數人都有不同的解決方法,但是ASP.NET MVC中,為我們提供了一個特性,就是Remote Validation,用它可以解決類似這樣的問題。

Remote Validation調用了一個Ajax請求,可以是GET或者POST方式,接著調用方法,這個方法,至少要有一個參數,并且方法的返回類型是Json格式的。【MVC中通過JSOnResult來做到】,這個方法的參數就是要驗證的實體的屬性【必須,否則不能驗證,參數的大小寫無所謂。】,如果這個驗證的方法返回值是true,那么就表名存在相同的用戶,我們就返回false,給前臺頁面。表明驗證不通過。

好了,直接說正題吧!
首先新建一個空白的MVC項目,在Model文件夾下,新建一個類RemoteUser: 

public class RemoteUser
 { 
 public string Name { get; set; } 
 public string Email { get; set; }
 
 }

然后建一個測試的數據類: 

 public static class MyRemoteStaticData
 {
 public static ListRemoteUser> RemoteList
 {
 get
 {
 return new ListRemoteUser>()
 {
 new RemoteUser(){Name="Daniel",Email="Daniel@163.com"},
 new RemoteUser(){Name="CFS",Email="CFS@163.com"}
 };
 }

 }
 }

 

在新建一個控制器MyRemoteController 【主要用來Remote驗證】:

using Server_Side_Validation_IN_MVC.StaticData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Server_Side_Validation_IN_MVC.Controllers
{
 public class MyRemoteController : Controller
 {
 // GET: MyRemote
 public JsonResult RemoteValidate(string name) //這里的參數名字,必須要和視圖中文本框控件的名字一樣,但大小寫無所謂
 {
 //如果存在用戶名,即isExists=true
 bool isExists = MyRemoteStaticData.RemoteList.
 Where(s => s.Name.ToLowerInvariant().
  Equals(name.ToLower())).FirstOrDefault() != null;
 //就向前臺返回false,表明已經存在userName
 return Json(!isExists,JsonRequestBehavior.AllowGet);
 }

 

 
}

上面添加完驗證之后,我們來修改一下Model實體:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Server_Side_Validation_IN_MVC.Models
{
 public class RemoteUser
 {
 [Remote("RemoteValidate", "MyRemote", ErrorMessage = "抱歉用戶名已經存在!請重新輸入!!!")]
 public string Name { get; set; }

 
 public string Email { get; set; }

 
 }
}

然后在新建一個測試的控制器: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Server_Side_Validation_IN_MVC.Controllers
{
 public class UserController : Controller
 {
 

 public ActionResult AddRemoteUser()
 {
 return View();
 }
 }
}

添加AddRemoteUser視圖,【注意這里,Remote Validation是需要引入Jquery插件和啟用客戶端驗證的】

這里勾選引入腳本庫,也主要是用來引入Jquery插件。 

@model Server_Side_Validation_IN_MVC.Models.RemoteUser

@{
 ViewBag.Title = "AddRemoteUser";
}

h2>AddRemoteUser/h2>


@using (Html.BeginForm()) 
{
 @Html.AntiForgeryToken()
 
 div class="form-horizontal">
 h4>RemoteUser/h4>
 hr />
 @Html.ValidationSummary(true, "", new { @class = "text-danger" })
 div class="form-group">
 @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
 div class="col-md-10">
 @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
 @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
 /div>
 /div>

 div class="form-group">
 @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
 div class="col-md-10">
 @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
 @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
 /div>
 /div>

 

 div class="form-group">
 div class="col-md-offset-2 col-md-10">
 input type="submit" value="Create" class="btn btn-default" />
 /div>
 /div>
 /div>
}

div>
 @Html.ActionLink("Back to List", "Index")
/div>

script src="~/Scripts/jquery-1.10.2.min.js">/script>
script src="~/Scripts/jquery.validate.min.js">/script>
script src="~/Scripts/jquery.validate.unobtrusive.min.js">/script>

然后修改一下默認的路由: 

public static void RegisterRoutes(RouteCollection routes)
 {
 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

 routes.MapRoute(
 name: "Default",
 url: "{controller}/{action}/{id}",
 defaults: new { controller = "User", action = "AddRemoteUser", id = UrlParameter.Optional }
 );
 }

運行項目:

輸入測試數據:CFS,按Tab鍵后,自動就進行驗證了。 

這里我們對Name字段就進行了Remote驗證,現在我想對Email字段進行驗證,需要使用到AdditionalFields,屬性,還需要另外添加一個驗證方法: 

using Server_Side_Validation_IN_MVC.StaticData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Server_Side_Validation_IN_MVC.Controllers
{
 public class MyRemoteController : Controller
 {
 // GET: MyRemote
 public JsonResult RemoteValidate(string name) //這里的參數名字,必須要和視圖中文本框控件的名字一樣,但大小寫無所謂
 {
 //如果存在用戶名,即isExists=true
 bool isExists = MyRemoteStaticData.RemoteList.
 Where(s => s.Name.ToLowerInvariant().
  Equals(name.ToLower())).FirstOrDefault() != null;
 //就向前臺返回false,表明已經存在userName
 return Json(!isExists,JsonRequestBehavior.AllowGet);
 }


 public JsonResult RemoteValidationAddtional(string name, string email)
 {
 //如果存在用戶名,即isExists=true
 bool isExists = MyRemoteStaticData.RemoteList.
 Where(s => s.Name.ToLowerInvariant().
  Equals(name.ToLower())  s.Email.ToLowerInvariant().Equals(email.ToLower())).FirstOrDefault() != null;
 //就向前臺返回false,表明已經存在userName
 return Json(!isExists, JsonRequestBehavior.AllowGet);
 }
 }
}

 

然后修改對應的實體類: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Server_Side_Validation_IN_MVC.Models
{
 public class RemoteUser
 {
 [Remote("RemoteValidate", "MyRemote", ErrorMessage = "抱歉用戶名已經存在!請重新輸入!!!")]
 public string Name { get; set; }

 //注意,這里的AdditionalFields="Name",Name字段必須和Modle中的字段完全一樣
 [Remote("RemoteValidationAddtional", "MyRemote", AdditionalFields = "Name", ErrorMessage = "抱歉Email已經存在!請重新輸入!!!")]
 public string Email { get; set; }

 } 
 }

接著運行項目:

輸入在測試類中寫的測試數據:

這里就對兩個字段進行了Remote Validation了。
上面使用了AdditionalFields 驗證字段,如果我們想要驗證不只一個字段,可以在AddtionalFiled里面添加,以逗號分隔就行了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ASP.NET MVC5驗證系列之服務端驗證
  • ASP.NET MVC5添加驗證(4)
  • ASP.NET MVC 數據驗證及相關內容
  • ASP.NET MVC5驗證系列之客戶端驗證
  • ASP.NET全棧開發教程之在MVC中使用服務端驗證的方法

標簽:無錫 湖北 欽州 試駕邀約 焦作 銅陵 湘西 綏化

巨人網絡通訊聲明:本文標題《ASP.NET MVC5驗證系列之Remote Validation》,本文關鍵詞  ASP.NET,MVC5,驗證,系列,之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET MVC5驗證系列之Remote Validation》相關的同類信息!
  • 本頁收集關于ASP.NET MVC5驗證系列之Remote Validation的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久在线免费观看| 成人免费毛片高清视频| 粉嫩一区二区三区在线看| 色菇凉天天综合网| 亚洲三级久久久| 91在线码无精品| 亚洲视频电影在线| 91色视频在线| 中文字幕综合网| 欧美亚洲日本国产| 日本不卡视频在线| 日韩精品中文字幕在线不卡尤物| 亚洲与欧洲av电影| 91精品国产美女浴室洗澡无遮挡| 亚洲综合999| 欧美精品一区二区三区一线天视频| 性久久久久久久久久久久| 在线精品视频免费观看| 视频一区视频二区中文字幕| 欧美日韩国产一区二区三区地区| 丝袜美腿一区二区三区| 欧美高清在线精品一区| 免播放器亚洲一区| 欧美猛男男办公室激情| 成人一区在线观看| 一区二区在线观看免费| 精品国产免费一区二区三区四区| 一本久久a久久免费精品不卡| 色乱码一区二区三区88| 美国三级日本三级久久99| 亚洲一区中文日韩| 日韩亚洲欧美一区二区三区| 9i看片成人免费高清| 国产一区二区在线影院| 久久国产精品色| 欧美aaaaaa午夜精品| 日本在线播放一区二区三区| 一区二区三区四区不卡在线 | 国产一区久久久| 5566中文字幕一区二区电影 | 91天堂素人约啪| 精品一区二区三区香蕉蜜桃| 五月综合激情网| 亚洲国产视频一区| 亚洲成人激情社区| 日韩精品乱码免费| 毛片av中文字幕一区二区| 麻豆视频观看网址久久| 老司机午夜精品| 日本午夜一区二区| 国产麻豆视频一区| 成人激情动漫在线观看| 成人精品鲁一区一区二区| 97se亚洲国产综合自在线| 在线观看欧美黄色| 2021久久国产精品不只是精品| 欧美国产日本韩| 视频一区二区国产| 色婷婷久久久综合中文字幕| 欧美福利电影网| 亚洲精品ww久久久久久p站| 麻豆一区二区三| 欧美精品乱码久久久久久| 亚洲女与黑人做爰| 国产又黄又大久久| 精品日韩一区二区三区 | 亚洲三级理论片| 久久精品亚洲精品国产欧美| 日本在线不卡视频| 91麻豆精品国产91久久久| 五月综合激情网| 97se亚洲国产综合自在线观| 国产欧美一区二区精品性| 韩国成人在线视频| 久久久精品中文字幕麻豆发布| 青青青爽久久午夜综合久久午夜| 日本精品一区二区三区高清| 亚洲一区视频在线观看视频| 色一情一伦一子一伦一区| 1024国产精品| 欧美色图片你懂的| 精品一区二区三区影院在线午夜| 日韩一级二级三级| 激情五月婷婷综合网| 国产精品久久久久久久久快鸭| 国产宾馆实践打屁股91| 国产精品午夜电影| 88在线观看91蜜桃国自产| 久久99蜜桃精品| 国产精品免费aⅴ片在线观看| 99精品欧美一区二区三区小说 | 日本韩国一区二区三区视频| 亚洲成人资源在线| 日韩一区在线看| 3751色影院一区二区三区| 国产精品一级在线| 亚洲国产视频a| 久久久久久久免费视频了| 欧美午夜免费电影| 成人综合婷婷国产精品久久| 日日夜夜一区二区| 亚洲欧美一区二区久久| 精品久久久久一区二区国产| 91网站最新地址| 懂色一区二区三区免费观看| 老司机精品视频导航| 五月婷婷综合激情| 一区二区三区中文字幕在线观看| 精品入口麻豆88视频| 日韩午夜电影av| 欧美一区在线视频| 欧美一区二区视频在线观看2020| 欧美体内she精视频| 91小视频在线免费看| 欧美亚洲国产一区在线观看网站 | ww久久中文字幕| 国产欧美一区二区精品性色超碰| 精品国产伦理网| xf在线a精品一区二区视频网站| 日韩一区二区麻豆国产| 精品国产人成亚洲区| 2024国产精品| 亚洲欧洲精品成人久久奇米网| 亚洲男人都懂的| 精品在线免费观看| 97久久精品人人爽人人爽蜜臀| 在线观看免费亚洲| 久久久国产一区二区三区四区小说 | 色琪琪一区二区三区亚洲区| 欧美亚洲一区三区| 日韩欧美激情四射| 中文字幕制服丝袜成人av| 天天做天天摸天天爽国产一区| 国模套图日韩精品一区二区| 欧美午夜精品电影| 久久免费美女视频| 久久99这里只有精品| 欧美久久久一区| 亚洲国产精品一区二区久久 | 五月婷婷久久丁香| 91在线视频免费观看| 久久久精品综合| 国模冰冰炮一区二区| 欧美一区二区性放荡片| 亚洲黄色免费电影| 色乱码一区二区三区88| 亚洲精品乱码久久久久久黑人| 不卡的电影网站| 日韩毛片高清在线播放| 成年人午夜久久久| 国产精品久久久久久久岛一牛影视| 日本一不卡视频| 欧美精品 日韩| 日本亚洲天堂网| 久久久久久久久免费| 91免费版pro下载短视频| 亚洲欧美另类综合偷拍| 欧美撒尿777hd撒尿| 午夜精品123| 久久久久久久久伊人| 99精品国产91久久久久久| 亚洲午夜成aⅴ人片| 精品国内片67194| 91在线丨porny丨国产| 欧美精品一区二区三区一线天视频 | 国产精品夜夜爽| 久久免费视频一区| 色999日韩国产欧美一区二区| 日韩成人午夜精品| 国产精品久久久久久久久动漫 | 国产不卡在线一区| 一区二区三区.www| 国产视频一区在线播放| 欧美影院精品一区| youjizz国产精品| 婷婷丁香久久五月婷婷| 中文字幕亚洲欧美在线不卡| 69堂国产成人免费视频| 99v久久综合狠狠综合久久| 久久精品国产网站| 亚洲成av人片在线观看| 一区二区在线观看视频| 亚洲少妇屁股交4| 亚洲国产精品成人久久综合一区| 日韩精品中午字幕| 日韩亚洲欧美在线| 美女高潮久久久| 免费观看一级欧美片| 亚洲精品在线电影| 国产精品三级在线观看| 不卡欧美aaaaa| 久久99久国产精品黄毛片色诱| 欧美刺激脚交jootjob| 国产91在线|亚洲| 韩国av一区二区三区| 国产乱人伦精品一区二区在线观看| 另类综合日韩欧美亚洲| 国产一区二区不卡老阿姨| 国产成人超碰人人澡人人澡| 国产精品一区2区|