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は、モデルのメタデータに基づいて検証メッセージを自動的に生成するためです。

およびは、組み込みのMVC検証用にHtml.ValidationMessage()ありHtml.ValidationMessageFor()ます(したがって、xValでは使用しません)。

編集:これは、クライアント側の検証に当てはまります。

于 2010-07-29T20:52:19.057 に答える