2014-02-18 90 views
1

例如我有以下型號:ASP.NET MVC。是否有可能使用MVC Foolproof驗證進行數組驗證?

public class MyModel { 
public Line[] Lines{get;set;} 
} 

public class Line { 
public int Quantity{get;set;} 
public int MaxQuantity{get;set;} 
} 

「數量」字段應該是小於「MaxQuantity」所以我試圖用「LessThanOrEqualTo」確認屬性:

public class Line { 
[LessThanOrEqualTo("MaxQuantity")] 
public int Quantity{get;set;} 
public int MaxQuantity{get;set;} 
} 

不過,這並不在客戶端工作因爲錯誤的依賴屬性名方相信:

<input type="number" value="1" name="Lines[0].Quantity" data-val-is-passonnull="False" data-val-is-operator="LessThanOrEqualTo" data-val-is-dependentproperty="MaxQuantity" data-val-is="Quantity must be less than or equal to MaxQuantity." data-val="true"> 
<input type="hidden" value="1" name="Lines[0].MaxQuantity"> 

你可以看到「data-val-is-dependentproperty="MaxQuantity"」,但實際輸入名稱爲「Lines[0].MaxQuantity"

有什麼辦法解決這個問題嗎?

+0

你使用HTML幫助器來呈現這些輸入標籤嗎? – Cris

+0

@Cris:是的,我使用html助手 – Andrei

回答

0

您是否在您的視圖或主頁中包含了mvcfoolproof.unobtrusive.min.js? 您是否已檢查腳本是否在您的代碼正在使用之前加載?

隨着我的萬無一失的Nuget安裝,它被放置在「客戶端腳本」文件夾從安全的Nuget安裝。