【发布时间】:2023-03-17 11:46:01
【问题描述】:
在 VS2010 和 ASP.NET MVC 2 中,客户端验证(JQuery 期货或股票期权)似乎不像宣传的那样有效。
我注意到“关闭”已验证元素不会像承诺的那样调用客户端验证。对于必填字段,您必须选择元素,输入内容,然后将其完全删除,以触发所需的验证。这不是我真正想要的,我希望这只是我这边的配置问题。
如何从以前的版本中获得验证效果,从而不需要以前的值(如果可能,无需修改客户端脚本)?
对于那些在这里问的人,我在客户端做了一些示例。
<div>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm("Signup", "Home", new { area = "Admin" }, FormMethod.Post, new { id = "create_account_form", action = "#" })) { %>
<fieldset>
<div>
<table>
<tr>
<td><label for="Email"> Email</label></td>
<td><%= Html.TextBoxFor(m => m.Email, new { name = "Email", @class = "textfield" }) %></td>
<td colspan="2"><p class="hint"><%= Html.ValidationMessageFor(m => m.Email)%></p></td>
</tr>
<tr>
<td><label for="Company"> Company</label></td>
<td><%= Html.TextBoxFor(m => m.Company, new { name = "Company", @class = "textfield" })%></td>
<td colspan="2"><p class="hint"><%= Html.ValidationMessageFor(m => m.Company)%></p></td>
</tr>
</table>
</div>
</fieldset>
<% } %>
【问题讨论】:
-
我不明白它会如何/为什么会改变。我刚刚从 VS 2008 迁移到 2010,发现客户端验证的工作方式没有任何区别。
-
这听起来有点奇怪。你能发布一些html吗?
-
@Alastair Pitts 感谢分享,但如果它的工作原理完全相同,我就不需要发布问题了。您会注意到在原始版本中支持“tabbing off”。您的代码在“关闭”时会触发验证吗?
-
我相信它在关闭时可以正常工作。我明天上班时需要检查一下。
-
我认为您应该将其发布到 Microsoft 产品反馈中