2010-07-29 57 views
0

我使用XVAL用於客戶端驗證,我有以下代碼:ASP.NET MVC 2&xVal:Html.TextboxFor是否有內置的ValidationMessage?

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.FiltersModel>" %> 
<%@ Import Namespace="xVal.Rules" %> 
<%@ Import Namespace="xVal.Html" %> 

<% using(Html.BeginForm()) { %> 
<div id="filter-name-area"> 
    <%: Html.LabelFor(x => x.Name)%> 
    <%: Html.TextBoxFor(x => x.Name, new { @class = "text" })%> 
<%-- <%: Html.ValidationMessageFor(x => x.Name) %> --%> 
    <button id="filters-add-row" style="float: right"></button> 
</div> 
<%} %> 
<%= Html.ClientSideValidation<Models.FiltersModel>()%> 

這是我的視圖模型:

public class FiltersModel { 
    [Required] 
    [DisplayName("Name:")] 
    public string Name { get; set; } 
} 

無論我評論<%: Html.ValidationMessageFor(x => x.Name) %>與否,我仍然得到驗證消息。

怎麼回事?

感謝您的幫助。

回答

1

因爲xVal自動生成基於模型元數據的驗證消息。

Html.ValidationMessage()Html.ValidationMessageFor()是有內置的MVC驗證(所以你不要使用它們與xVal)。

編輯:這是客戶端驗證。

+0

我明白了。有沒有辦法告訴xVal除了將其設置爲'「」'之外不顯示驗證消息? – 2010-07-29 21:03:52

+0

我真的不知道,自從我使用它已經有一段時間了,但我不這麼認爲。這可能是我使用內置驗證的原因之一;) – Necros 2010-07-29 21:17:41

+0

好的,謝謝:)我編輯了'xVal.jquery.validate.js'腳本,不顯示一些消息。 – 2010-07-30 10:00:00