0

SPARKビューエンジンでクライアント側検証を使用する方法はありますか?

私は次のSPARKビューを持っています:

<script type="text/javascript" src="~/content/script/shared/MicrosoftAjax.js?${ApplicationStartTime}"></script>      
<script type="text/javascript" src="~/content/script/shared/jquery-ui-1.7.2.custom.min.js?${ApplicationStartTime}"></script>
<script type="text/javascript" src="~/content/script/shared/jquery.validate.min.js?${ApplicationStartTime}"></script>
<script type="text/javascript" src="~/content/script/shared/jquery.validate.unobtrusive.js?${ApplicationStartTime}"></script>
<script type="text/javascript" src="~/content/script/shared/MicrosoftMvcJQueryValidation.js?${ApplicationStartTime}"></script>


<viewdata model="Business.Models.Development.Dtos.DonationFormDto" />

#Html.EnableClientValidation();

<form id="form" action="~/development/donate.mvc" method="post">

<label>
  *First Name
</label><br/>
<input type="text" name="model.FirstName" Id="FirstName" value="${Model.FirstName}"/> ${Html.ValidationMessage("model.FirstName")}
<br/>

</form>

サーバー側の検証は正常に機能しますが、クライアント側の検証は機能しません。

ASP.NETヘルパーとフォーム構文を使用して次のように機能させることができます。

using (Html.BeginForm("Index", "Donate", FormMethod.Post, new {id = "form", action="donate.mvc" }))
{  
    <%=Html.LabelFor( model => model.FirstName) %><br/>
    <%=Html.TextBoxFor(model => model.FirstName)%>
    <%=Html.ValidationMessageFor( model => model.FirstName) %><br/>
}

しかし、私のモデルは正しくバインドされず、送信時にサーバー側の検証が失敗します。

助言がありますか?SPARKを放棄して、古典的な強い型のビューを作成することが唯一の選択肢ですか?

4

1 に答える 1

0

@KarlBear、なぜ spark で "${...}" または "!{...}" の代わりに "<%=" を使用したのですか?

${Html.LabelFor( model => model.FirstName)}<br/>
${Html.TextBoxFor(model => model.FirstName)}
${Html.ValidationMessageFor( model => model.FirstName)]<br/>
于 2011-07-08T09:26:20.860 に答える