创建一个使用编辑器模板的数据类型属性,并且是一个验证属性
本文关键字:属性 一个 数据类型 验证 编辑器 创建 | 更新日期: 2023-09-27 18:34:21
Using MVC5 and .NET 4.5
我想制作一个既使用编辑器模板又用作验证属性的数据类型属性。
据我了解,DataTypeAttribute 继承自 ValidationAttribute,所以我认为这并不困难。
但是,我无法对其进行验证。
这是我的属性:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class XXXAttribute : DataTypeAttribute
{
public XXXAttribute() : base("XXX") { }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
// validation code
}
}
这是我的视图模型中的属性:
[XXX]
[Display(Name = "XXX")]
public string XXX { get; set; }
我的 XXXAttribute 的 IsValid 方法中的调试器显示,提交时从未对其进行检查。
有人可以向我指出我做错了什么吗?谢谢。
编辑器模板采用数据类型命名约定。因此,您将需要一个 string.cshtml(不推荐(,或者您可以使用 EditorFor 覆盖,明确告诉它要使用什么模板。
@Html.EditorFor(model => model.XXX, "XXX")
请参阅文档 http://msdn.microsoft.com/en-us/library/ee407414(v=vs.118(.aspx