ValidateInputAttribute不包含Exclude的定义

时间:2011-04-22 10:58:11

标签: asp.net asp.net-mvc

我正在使用MVC 3,而我正试图在创建操作中从验证中排除某些字段。

我看到几个示例显示如何使用[ValidateInput(true,Exclude =“xxxx”)]排除字段,但是当我尝试这个时,我收到此错误:

“ValidateInputAttribute不包含Exclude”的定义

有什么想法?

编辑:

我有一个看起来像这样的部分类:

[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)],它就可以正常工作。

3 个答案:

答案 0 :(得分:2)

我认为你看到的例子是错误的。我可以看到ValidateInputAttribute上没有这样的属性。如果您尝试允许html,您可以在模型上执行此操作以访问特定属性:

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

但我不确定你要做什么。

答案 1 :(得分:0)

我最终在创建和更新的操作方法上放置了[ValidateInput(false)],以便html通过。也许不是首选解决方案,但它现在可以使用。

答案 2 :(得分:0)

MVC 3中不存在“Exclude”参数。您只能在某些开发人员版本中找到它,例如MVC 3 RC。