【问题标题】:ValidationMessageFor is not workingValidationMessageFor 不起作用
【发布时间】:2013-10-05 13:01:34
【问题描述】:

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

Web.Config 包括

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

View.cshtml 包含

<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 调试时,验证工作完美。

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

【问题讨论】:

  • 可能找不到您的脚本。你不应该像那样引用你的脚本。部署后能否验证脚本 src 是否正确?
  • 我已经检查了页面源和脚本链接似乎没问题。单击链接后,我可以看到整个文件的文本。
  • 您错过了第三个脚本中的结束标记!!
  • 我已经注意到了,修复了它,但仍然无法正常工作。
  • 在浏览器中打开 Javascript 控制台并检查错误。

标签: c# jquery html validation asp.net-mvc-4


【解决方案1】:

您错过了脚本文件 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 并配置了与本地匹配的 webconfig 文件!

【讨论】:

  • 我试过 仍然无法正常工作
  • 删除所有脚本中的 ../.. !
  • 是的,很抱歉,现在我又发现了另一个问题,请再看一次我编辑的答案!
  • 我已经注意到了,修复了结束标签,但仍然无法正常工作。如何检查服务器上的路径?
  • CSS 文件似乎没问题。我的布局完美。所有需要的文件都在服务器上,并且布局页面没有任何 JQuery 库。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    相关资源
    最近更新 更多