在Razor视图中启用客户端validation(ASP MVC 3)
我尝试使用以下这行代码添加客户端validation:
@Html.EnableClientValidation()
但是我不断收到这个错误消息:
编译器错误消息:CS1502:“Microsoft.WebPages.WebPageUltimateBase.Write(Microsoft.WebPages.Helpers.HelperResult)”的最佳重载方法匹配有一些无效参数
这是否为其他人工作,或者这是在ASP MVC 3的另一种方法?
您可以改为使用以下内容代替预期的代码行。
@(ViewContext.ClientValidationEnabled = true)
可能是在htmlhelper的扩展方法中的一个疏忽。
实际上,您可以通过执行以下操作来使用HtmlHelper方法
@{ Html.EnableClientValidation(); }
嘿,在ASP.NET MVC3中,不需要在视图页面中添加Html.EnableClientValidation(),而只需在webconfig文件中启用clientValidation,如下所示:
<appSettings> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings>
这个标签
@{ Html.EnableClientValidation(false); }
必须在之前
@using (Html.BeginForm())
你在页面上使用html <form>
元素而不是Html.BeginForm
来创build你的HTML FORM。
我有这个完全相同的问题,并解决这是因为我没有使用Html.BeginForm
来创build我的FORM导致所需的input属性data-val-required="The Email field is required." data-val="true" class="input-validation-error
data-val-required="The Email field is required." data-val="true" class="input-validation-error
,即使我插入了@Html.ValidationMessageFor(m => m.User.Role)
,validation的占位符也没有被注入页面我的查看页面。
在我的情况下,我没有使用EditorFor,但TextBoxFor!
确保你使用:
<td>@Html.EditorFor(m => m.Email)</td>