ValidationMessageFor 不起作用

本文关键字:不起作用 ValidationMessageFor | 更新日期: 2023-09-27 18:33:17

我的网页验证仅在本地服务器上工作。

Web.Config 包括

<add key="webpages:Enabled" value="true" />
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

View.cshtml include

<script src="../../Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"</script>
@using (Html.BeginForm("ViewName", "ControllerName")) {
@Html.ValidationMessageFor(model => model.email, null, new { @class = "validation" })
<input type="submit" value="log in" class="submitbutton" />
}

我正在使用Linq to SQL。文件包含

使用System.ComponentModel.DataAnnotations;

和与此类似的字段

[Required(ErrorMessage = "* error message")]
    public string email
            ...

当我从Visual Web Developer Express 2010中解散时,验证工作完美。

问题是当我将文件上传到外部托管位置验证时根本不起作用。单击提交按钮后没有任何反应。我尝试了很多解决方案,但没有任何帮助。

ValidationMessageFor 不起作用

您错过了脚本文件 src 的@Url.Content

尝试此操作,而不是标头端的脚本文件。 使用平铺字符

<script src="@Url.Content("~/Scripts/jquery-1.9.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

编辑:您错过了上一个脚本上的关闭标记

<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascri**pt"</**script>

这只是路径或任何简单的错误问题,检查服务器上的路径

其他解决方案:

1)检查您的css路径并部署服务器上的所有文件?

2)检查 Jquery 库是否已添加到您的布局页面中。

3)您是否在页面或布局中调用了css文件?

4)请检查您的服务器是否已部署所有脚本和CSS,并配置了与本地匹配的Web配置文件!

我发现问题出在其他地方。我尝试验证自己的模型,它工作正常。唯一的问题是,在Linq to SQL文件中使用验证的网站仅适用于本地服务器。