Tag: 数据注释

是否可以将DataAnnotations与接口一起使用?

我想使用DataAnnotations来validation实现某些接口的类,因此我将validation属性添加到接口,如下所示: public interface IUser { [Required] string Name { get; set; } [Display(Name = “Email Address”)] [Required] string Email { get; set; } } 当我尝试使用Validator.TryValidateObject时,它不起作用。 有没有办法做到这一点而不必编写自定义TryValidateObject方法?

为什么我不能将资源用作具有DataAnnotations的ErrorMessage?

我为什么不能这样做? [Required(ErrorMessage = “*”)] [RegularExpression(“^[a-zA-Z0-9_]*$”, ErrorMessage = Resources.RegistrationModel.UsernameError)] public string Username { get; set; } 告诉我的错误信息是什么? 属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式。

使用Entity Framework创建数据库索引

说我有以下型号: [Table(“Record”)] public class RecordModel { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] [Display(Name = “Record Id”)] public int RecordId { get; set; } [StringLength(150)] public string Name { get; set; } [Required] [StringLength(15)] public string IMEI { get; set; } } 是否可以通过使用属性,数据注释或模型中的某些内容向IMEI列添加索引?

DataTypeAttributevalidation是否在MVC2中有效?

据我所知,System.ComponentModel.DataAnnotations.DataTypeAttribute不适用于MVC v1中的模型validation。 例如, public class Model { [DataType(“EmailAddress”)] public string Email {get; set;} } 在上面的代码中,不会在MVC v1中validationEmail属性。 它在MVC v2中运行吗?

如何将DataAnnotations ErrorMessageResourceName与自定义资源解决方案一起使用

我正在用C#构建一个MVC Web应用程序。 由于该网站将是多语言的,我已经实现了自己的ResourceManager。 此类负责从数据库/缓存中获取所需的资源字符串,具体取决于当前的线程文化,并且到目前为止工作正常。 我的问题是,我想使用我的自定义ResourceManager解决方案来获取validation错误消息,例如在属性上使用必需属性。 可以这样做吗?

编写CompareTo DataAnnotation属性

我有一种情况,我想与字段进行比较(例如,确保开始时间在结束时间之前)。 我正在使用System.ComponentModel.DataAnnotations属性进行validation。 我的第一个想法是这样的: public enum CompareToOperation { EqualTo, LessThan, GreaterThan } public class CompareToAttribute : ValidationAttribute { CompareToOperation _Operation; IComparable _Comparision; public CompareToAttribute(CompareToOperation operation, Func comparison) { _Operation = operation; _Comparision = comparison(); } public override bool IsValid(object value) { if (!(value is IComparable)) return false; switch (_Operation) { case CompareToOperation.EqualTo: return _Comparision.Equals(value); case CompareToOperation.GreaterThan: […]

如何在非ASP.NET网络环境中使用C#中的数据validation属性?

我想在库程序集中使用数据validation属性,以便数据的任何使用者都可以在不使用ModelBinder的情况下对其进行validation(例如,在控制台应用程序中)。 我该怎么做?

MVCvalidation低于/高于其他值

如何在MVC.Net中validation模型的最佳方法,我希望接受最小/最大值。 不是字段的单个最小值/最大值。 但是用户指定最小/最大值的单独字段。 public class FinanceModel{ public int MinimumCost {get;set;} public int MaximumCost {get;set;} } 所以我需要确保MinimumCost始终小于最大成本。