1

ASP.Net MVC 2.0 Beta の DataAnnotations バリデーターを使用してセットアップしようとしていますが、次のモデルを使用しています。

public class Foo {
    [Required] public string Bar {get;set;} 
}

そして、私の見解では次のコード:

 <%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<Foo>" %>

 <!-- later on -->
 <% Html.EnableClientValidation(); %>
 <% using (Html.BeginForm("Edit","Foo")) { %>             

すべてが例からほぼ逐語的です。放出されるものは次のとおりです。

<script type="text/javascript">
//<![CDATA[
EnableClientValidation({"Fields":[],"FormId":"form0"}, null);
//]]>
</script>

JavaScript 検証ライブラリ (jQuery または MS Ajax は関係ありません) にフィールドを検証するよう指示するものは何も出力されません。検証サーバー側で行われますが、クライアント側では行われません。理由は明らかです。

4

1 に答える 1

0

答えは少し卑劣です。があるのに がないことが問題であることがわかりました。以下を追加した後:ValidationMessageForValidationSummary

<%=Html.ValidationMessageFor(x=>x.Bar)%>

適切な JSON が発行され、jQuery 検証が機能しました。

検証の概要があるにもかかわらず、メッセージを表示する必要があるの奇妙に思えます。

于 2009-12-15T22:07:38.827 に答える