2011-04-22 39 views
0

我正在使用MVC 3,並且我試圖從創建操作中的驗證中排除一些字段。ValidateInputAttribute不包含排除的定義

我看到幾個例子,說明如何使用排除領域[ValidateInput(真,排除=「XXXX」),但是當我嘗試這一點,我得到這個錯誤:

「ValidateInputAttribute不包含定義排除「

任何thougts?

編輯:

我有一個部分類,看起來像這樣:

[MetadataType(typeof(Article_Validation))] 
public partial class article 
{ 

} 

public class Article_Validation 
{ 
    [HiddenInput(DisplayValue = false)] 
    public int article_id { get; set; } 

    [Required(ErrorMessage = "Title is required")] 
    public string article_title { get; set; } 

    [AllowHtml] 
    [Required(ErrorMessage = "Body is required")] 
    public string article_body { get; set; } 

    [HiddenInput(DisplayValue = false)] 
    public DateTime article_datecreared { get; set; } 

    [HiddenInput(DisplayValue = false)] 
    public DateTime article_datemodified { get; set; } 

    [HiddenInput(DisplayValue = false)] 
    public int article_viewcount { get; set; } 

    [AllowHtml] 
    [Required(ErrorMessage = "Abstract is required")] 
    public string article_abstract { get; set; } 

} 

的[AllowHtml]被放置在兩個屬性,但我仍然得到錯誤。我感覺這個班會和同名的EF班「合併」嗎?

如果我把[ValidateInput(false)]放在控制器上,它工作正常。

回答

0

我最終將[ValidateInput(false)]放在創建和更新的操作方法上,以便html通過。也許不是首選的解決方案,但它現在可行。

2

我認爲你看到的例子是錯誤的。我可以看到ValidateInputAttribute上沒有這樣的屬性。如果你想允許HTML,你可以做到這一點在你的模型去的特定屬性:

public class Foo 
{ 
    [AllowHtml]   
    public string Text { get; set; } 
} 

但我不知道你正在嘗試做的。

+0

我想設置一個富文本編輯器,所以我需要像你說的那樣允許html。好的,所以我在我的模型中有一個與實體框架類合併的分類。我使用這個類進行驗證等。我可以把[AllowHtml]放在特定的字段嗎? – Soeren 2011-04-22 19:41:14

+0

@Soeren - 不確定它是否按照您在編輯中顯示的方式工作。我使用EF Code First進行了有效的處理,我確信它可以和POCO一樣工作,但是我從來沒有和好友一起嘗試過。 – Quesi 2011-04-25 20:12:47

0

「排除」參數在MVC 3中不存在。您只能在某些開發人員版本(如MVC 3 RC)中找到它。