StringLengthAttribute

所述 StringLength 属性指定被允许在一个数据字段中的字符的最小和最大长度。此属性可以应用于属性,公共字段和参数。必须在属性的 ErrorMessage 属性上指定错误消息。 MinimumLengthMaximumLength 属性分别指定最小值和最大值。

首先添加命名空间:

using System.ComponentModel.DataAnnotations;

并在属性上应用该属性。

public class User
{
   // set the maximum
   [StringLength(20, ErrorMessage = "The username cannot exceed 20 characters. ")]
   public string Username { get; set; }

   [StringLength(MinimumLength = 3, MaximumLength = 16, ErrorMessage = "The password must have between 3 and 16 characters.")]        
   public string Password { get; set; }
}

还可以在错误消息中使用资源用于全局化应用程序。在这种情况下, ErrorMessageResourceName 必须与必须在被设置好的资源类(resx 文件)的资源键指定 ErrorMessageResourceType

public class User
{
   [StringLength(20, ErrorMessageResourceName = "StringLength", 
                              ErrorMessageResourceType = typeof(ResoucesKeys))]        
   public string Username { get; set; }

   [StringLength(MinimumLength = 3, 
                        MaximumLength = 16, 
                        ErrorMessageResourceName = "StringLength", 
                        ErrorMessageResourceType = typeof(ResoucesKeys))]        
   public string Password { get; set; }
}