2014-02-24 172 views
0

在我的Asp.Net MVC應用程序中我遇到的情況,我必須Asp.Net MVC驗證消息覆蓋客戶端驗證

  1. 檢查控制值不爲空,在控制進入
  2. 值不「搜索」

如何通過驗證屬性來實現此目的?

我嘗試了模態屬性頂部的[必需]屬性,併爲「搜索」寫了一個客戶端驗證。但[required]屬性顯示的錯誤消息正在重寫客戶端驗證。任何幫助?

回答

2
 $.validator.addMethod("ruleName", function (value, element, params) { 
      var a = this.optional(element); 
      var b = value != params; 
      return a || b; 
     }, "error"); 

     $("#x").rules("add", { 
      ruleName: "search" 
     }); 

1,添加一條規則,編寫函數來檢查
2,添加要
檢查文檔http://jqueryvalidation.org/documentation/

1

不要自己編寫任何自定義驗證代碼,該規則輸入MVC框架可以爲你做這一切。

首先,確保你包括你的佈局如下:

<script src="/Scripts/jquery-1.7.1.min.js"></script> 
<script src="/Scripts/jquery.validate.min.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script> 

,並檢查以下是在你的web.config設置:

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

你的形式應該是這樣的:

@Html.TextBoxFor(Model => Model.EditPostViewModel.Title) 
@Html.ValidationMessageFor(Model => MOdel.EditPostViewModel.Title) 

現在它應該可以自動爲您工作,無需編寫自定義驗證秒。