ValidationMessageFor不起作用

时间:2013-09-29 17:34:38

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

我的网页验证仅适用于本地服务器。

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验证工作中完全退出时。

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

2 个答案:

答案 0 :(得分: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文件与本地!

答案 1 :(得分:0)

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