1. 程式人生 > 其它 >net6 - System.ComponentModel.DataAnnotations Attribute

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;  

}