jquery.validate.unobtrusive.js插件作用


在 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 的好處顯而易見,但是如何在MVC3使用Unobtrusive JavaScript呢?

 

1、引用相應的Javascript文件

1
2
3
4
< script  src="@Url.Content("~/Scripts/jquery-1.4.1.min.js")" type="text/javascript"></ script >
< script  src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></ script >
< script  src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></ script >
< script  src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></ script >

 

2、開啟 Unobtrusive JavaScript

MVC3中的Web.Config文件中默認多了兩個配置項

image

這里是一個全局設置,你可以打開或者關閉。

 

另外,你也可以在任何一個 Action 或 Controller 中執行以下代碼,靈活地進行控制,來處理一些特殊的 Action 或 Controller。

1
2
HtmlHelper.ClientValidationEnabled = true ;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true ;

 

鏈接:http://www.cnblogs.com/dudu/archive/2012/04/27/jquery_validate_unobtrusive_focusout_focusin.html

    http://www.cnblogs.com/dozer/archive/2010/11/11/Unobtrusive-JavaScript-in-ASP-NET-MVC-3.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM