1

我的网页验证仅在本地服务器上有效。

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

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

4

2 回答 2

0

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

试试这个,而不是标题端的脚本文件。 使用耕种字符

<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 文件!

于 2013-09-29T17:43:35.907 回答
0

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

于 2013-09-30T11:57:31.667 回答