net6 - System.ComponentModel.DataAnnotations Attribute

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;  

}

 

posted @ 2022-05-10 15:24  Tammytan  阅读(79)  评论(0编辑  收藏  举报