2012-02-29 162 views
1

我對一個項目使用了asp.net mvc 3,並且已經在幾個頁面上使用了服務器和客戶端驗證。它工作正常。但這一次,我有一個特殊情況:Asp.net MVC客戶端驗證,沒有客戶端驗證的子項?

視圖中的項目與模型及其某些屬性是綁定的。

一個例子:

public class MyModelView{ 
    [Required] 
    [StringLength(100, MinimumLength = 2)] 
    public String Name{get;set;} 
    public DetailsObject Details{get;set;} 
} 
public class DetailsObject{ 
    [Required] 
    [StringLength(100, MinimumLength = 2)] 
    public String PropertyOne{get;set;} 
    [Required] 
    [StringLength(100, MinimumLength = 2)] 
    public String PropertyTwo{get;set;} 
} 

,並在視圖中我有「的所有元素綁定

@Html.TextBoxFor(m=>m.Name) 
@Html.TextBoxFor(m=>m.Details.PropertyOne) 
@Html.TextBoxFor(m=>m.Details.PropertyTwo) 

的問題是,我沒有得到任何的客戶端驗證服務器驗證。對於所有的屬性仍然工作正常

我已經jquery validate不引人注意,包括你如何管理?

回答

1

有幾個地方,你應該檢查

web.config中應該有這些線路

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

檢查的JavaScript將包含在正確的順序

<script src="/Scripts/jquery-latest.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> 
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script> 

也作爲提醒(如我沒有看到整個視圖文件)的地方ValidationMessageFor幫手看到驗證錯誤

+0

對不起,其實我只是錯過了CSS。它在其他頁面上「工作」,因爲在其他頁面上我需要確認消息,所以我得到了一個視覺反饋。 – J4N 2012-03-01 07:02:05