客户端验证不在asp.net工作mvc

问题描述:

我似乎无法获得客户端验证在asp.net mvc3应用程序中工作。在配置我客户端验证不在asp.net工作mvc

<add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

在我_Layout.cshtml我有

<script src="@Url.Content("~/Scripts/jquery-1.5.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> 

我只是玩弄使用MVC 3 EF 4我的模型类只有一个必需的字段,但客户端验证不会触发。它总是回发。有任何想法吗?

+1

您可以发布您期望验证的模型吗? – Jesse

+0

验证确实发生。它只发生在服务器端。这不是在客户端发生的。 – daustin

你在模型中使用什么进行验证?这里是一个快速简便的方法:

using System.ComponentModel.DataAnnotations; 

namespace YourNs 
{ 
    public class YourModel 
    { 
     [Required] 
     public string SomeRequiredString { get; set; } 
    } 
} 

现在您的这个模型视图,如果有必要的脚本中引用应该有客户端验证。这一切都通过[Required]属性。

+2

目前,我只使用EF生成的类。当它回发它确认所需的字段,这只是客户端应该开火,事实并非如此 – daustin

我不知道是你的情况是可行的,但我通过调用.validate()函数得到验证:

var validator = $('#formData').validate(); 
     if ($('#formData').valid()) { 
      //alert('valid'); 
      return true; 
    } 

希望能帮助

确保这些appSettings是在你的根Web.config

<appSettings> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
</appSettings>