我正在使用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)],它就可以正常工作。
答案 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。