使用SPARK视图引擎使用ASP.NET MVC 2进行客户端验证

时间:2011-04-26 17:24:45

标签: asp.net-mvc-2 client-side-validation spark-view-engine

有没有办法在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 Helpers和表单语法来实现它:

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并创建经典的强类型视图是唯一的选择吗?

1 个答案:

答案 0 :(得分:0)

@KarlBear,为什么你在火花中使用“&lt;%=”代替“$ {...}”或“!{...}”?

${Html.LabelFor( model => model.FirstName)}<br/>
${Html.TextBoxFor(model => model.FirstName)}
${Html.ValidationMessageFor( model => model.FirstName)]<br/>