日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC Unobtrusive JavaScript 实现 onfocusout 验证, onfocusin 清除错误

發布時間:2025/3/21 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC Unobtrusive JavaScript 实现 onfocusout 验证, onfocusin 清除错误 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 ASP.NET MVC 中啟用 Unobtrusive JavaScript 功能,可以在運行時由服務器端根據Model中設置的驗證規則,自動生成客戶端驗證js代碼(結合jquery.validate)。這很好地解決了表單驗證時一次代碼,兩次驗證(客戶端+服務器端)的問題。

使用它很簡單,主要操作步驟如下:

1. 在web.config增加如下設置:

<appSettings><add key="ClientValidationEnabled" value="true"/><add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings>

2. 在NuGet中引用jquery.validate與jquery.validate.unobtrusive

3. 在頁面中添加js引用:

<script type="text/javascript" src="/scripts/jquery.validate.min.js"></script> <script src="/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

4. 在model中添加驗證規則,示例代碼如下:

public class SignupUser {[Required(ErrorMessageResourceName = "DefaultRequireErrorMsg", ErrorMessageResourceType = typeof(Resources))][DataType(DataType.EmailAddress)]public string Email { get; set; } }

5. 在頁面中添加表單生成代碼,比如:

@using(Html.BeginForm()) { @Html.LabelFor(m=>m.Email)@Html.TextBoxFor(m=>m.Email)@Html.ValidationMessageFor(m=>m.Email) }

參考文章:Unobtrusive JavaScript in ASP.NET MVC 3

進入正題

默認情況下,jquery.validate.unobtrusive只在點擊表單提交按鈕時才觸發驗證,驗證出錯時,光標移入輸入框不會清除錯誤提示信息(jquery.validate也一樣,unobtrusive只是jquery.validate的一個擴展)。

而我們的需求是,只要光標移出輸入框(onfocusout)就觸發驗證,光標移入輸入框(onfocusin)時清除錯誤信息。

效果如下:

1.?光標移出(onfocusout)時

2.?光標移入(onfocusin)時

如何解決這個問題呢?

解決方法是簡單的,找到解決方法的過程是曲折的。

jquery.validate對這個需求并沒有提供很好的支持,需要研究它的代碼,接管onfocusout與onfocusin的事件處理,并屏蔽onkeyup的事件處理。最終解決問題的代碼如下:

針對jquery.validate.unobtrusive:

$.validator.setDefaults({//光標移出時onfocusout: function (element) {this.element(element);},//光標移入時onfocusin: function (element, event) {//找到顯示錯誤提示的標簽并移除,針對jquery.validate.unobtrusivevar errorElement = $(element).next('span.field-validation-error');if (errorElement) {errorElement.children().remove();}},onkeyup: function (element, event) {} });

如果沒有使用jquery.validate.unobtrusive,想在jquery.validate中實現同樣的效果,對應的代碼如下:

$.validator.setDefaults({//光標移出時onfocusout: function (element) {this.element(element);},//光標移入時onfocusin: function (element, event) {//僅針對jquery.validatevar errorElement = this.errorsFor(element);if (errorElement) {errorElement.remove();}},onkeyup: function (element, event) {} });

好了,這篇博文就是為了分享一下自己摸索出來的解決方法。

?

相關博問:ASP.NET MVC 表單驗證用什么好

總結

以上是生活随笔為你收集整理的ASP.NET MVC Unobtrusive JavaScript 实现 onfocusout 验证, onfocusin 清除错误的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91在线精品李宗瑞 | 亚洲av成人无码一二三在线观看 | 亚洲综合五月天 | 精品国产aⅴ一区二区三区东京热 | 97色综合 | 超碰免费公开在线 | 漂亮人妻洗澡被公强 日日躁 | 成人免费看 | 免费观看国产精品 | 色网站观看 | 日韩国产欧美在线视频 | 成人黄色免费视频 | 午夜视频在线观看网站 | 成人久色 | 久久久久久国产 | a天堂在线资源 | 在线观看成人免费 | 伦乱天堂| 久久久久久久蜜桃 | 丰满人妻一区二区三区46 | 日本黄色高清视频 | 污导航在线观看 | 国产社区在线 | 97免费公开视频 | 91视频久久 | 精品交短篇合集 | 国产美女精品久久久 | 久久精品男人 | 国产成人啪一区二区 | 国产激情一区二区三区在线观看 | 少妇做爰免费视频播放 | 香蕉尹人网| 操日韩 | 天堂成人在线观看 | 日日夜夜av | 色婷婷基地 | 成人网站免费观看入口 | 日韩女优一区二区 | 久久99久久99精品 | 五十路毛片 | 国产一区二区久久精品 | 成人黄色小视频在线观看 | www夜片内射视频日韩精品成人 | 黄色网页入口 | 久久艳片www.17c.com | 丰满人妻翻云覆雨呻吟视频 | 日日夜夜操av | 在办公室被c到呻吟的动态图 | 免费的黄色片 | 亚洲m码 欧洲s码sss222 | 欧美三级一区二区三区 | 国内精品久久久久久久久 | 哪里可以免费看毛片 | 国产精品午夜在线 | 亚洲人成在线观看 | 2017天天干 | 精品在线观看一区二区 | 国产绳艺sm调教室论坛 | 西西人体做爰大胆gogo直播 | 91全免费| 亚洲男人第一天堂 | 精品一区二区视频 | 超碰综合| 亚洲中文一区二区三区 | 欧美福利精品 | 女同vk| 欧美精品v国产精品v日韩精品 | 最新的黄色网址 | 狠狠操女人 | 91欧美一区二区 | 久久久精品日韩 | 看中国毛片 | 三级4级全黄60分钟 成人自拍视频 | youjizzxxx69 | 亚洲精品偷拍视频 | 极品销魂美女一区二区三区 | 国产一区二区在线观看视频 | www.国产视频.com | 色综合久久天天综合网 | 欧美wwwxxxx| 亚洲夜夜爱 | 日本中文在线观看 | 亚洲无av在线中文字幕 | 欧美日一区二区 | av免费观看入口 | 精品自拍偷拍 | 国产精品theporn88 | 毛片av免费 | 成人夜晚视频 | 亚洲第一页在线 | 久久大香 | 日产精品久久久久久久蜜臀 | 尤物视频在线免费观看 | 91视频在线观看视频 | 99热自拍偷拍 | 欧美视频在线播放 | 欧美特黄一区二区三区 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 婷婷五月综合激情 |