0

我正在使用 xVal 进行客户端验证,我有以下代码:

<%@ 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) %>,我仍然会收到验证消息。

怎么会?

谢谢你的帮助。

4

1 回答 1

1

因为 xVal 会根据模型元数据自动生成验证消息。

Html.ValidationMessage()andHtml.ValidationMessageFor()用于内置 MVC 验证(因此您不要将它们与 xVal 一起使用)。

编辑:这适用于客户端验证。

于 2010-07-29T20:52:19.057 回答