net6 - System.ComponentModel.DataAnnotations Attribute
阿新 • • 發佈:2022-05-10
using System; using System.Web.DynamicData; using System.ComponentModel.DataAnnotations; [MetadataType(typeof(CustomerMetaData))] public partial class Customer { } public class CustomerMetaData { RangeAttribute 類 [Range(10, 1000, ErrorMessage = "Value for {0} must be between {1} and {2}.")] public object Weight; [Range(300, 3000)] public object ListPrice; [Range(typeof(DateTime), "1/2/2004", "3/4/2004", ErrorMessage = "Value for {0} must be between {1} and {2}")] public object SellEndDate; DataTypeAttribute 類 // Add type information. [DataType(DataType.EmailAddress)]public object EmailAddress; RegularExpressionAttribute 類 // Allow up to 40 uppercase and lowercase // characters. Use custom error. [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", ErrorMessage = "Characters are not allowed.")] public object FirstName; // Allow up to 40 uppercase and lowercase// characters. Use standard error. [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")] public object LastName; }
DisplayFormatAttribute類 public class ProductMetaData { // Applying DisplayFormatAttribute // Display the text [Null] when the data field is empty. // Also, convert empty string to null for storing. [DisplayFormat(ConvertEmptyStringToNull = true, NullDisplayText = "[Null]")] public object Size; // Display currency data field in the format $1,345.50. [DisplayFormat(DataFormatString="{0:C}")] public object StandardCost; // Display date data field in the short format 11/12/08. // Also, apply format in edit mode. [DisplayFormat(ApplyFormatInEditMode=true, DataFormatString = "{0:d}")] public object SellStartDate; }
DisplayColumnAttribute 類 [DisplayColumn("City", "PostalCode", false)] public partial class Address { } [DisplayColumn("LastName")] public partial class Customer { }
EnumDataTypeAttribute 類 public enum ReorderLevel { Zero = 0, Five = 5, Ten = 10, Fifteen = 15, Twenty = 20, TwentyFive = 25, Thirty = 30 } [MetadataType(typeof(ProductMD))] public partial class Product { public class ProductMD { [EnumDataType(typeof(ReorderLevel))] public object ReorderLevel { get; set; } } }
StringLengthAttribute 類 [MetadataType(typeof(ProductMetadata))] public partial class Product { } public class ProductMetadata { [ScaffoldColumn(true)] [StringLength(4, ErrorMessage = "The ThumbnailPhotoFileName value cannot exceed 4 characters. ")] public object ThumbnailPhotoFileName; [ScaffoldColumn(true)] [StringLength(4, ErrorMessage = "The {0} value cannot exceed {1} characters. ")] public object PhotoFileName; }