ValidationAttribute

 public class MaxWordsAttribute : ValidationAttribute
    {
        public MaxWordsAttribute()
            : base(() => { return "{0} has too many words."; })
        {
        
        }

        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            //return base.IsValid(value, validationContext);
            if (value != null)
            {
                var valueAsString = value.ToString().Split(' ');
                if (valueAsString.Length > _maxWords)
                {
                    var errorMessage = FormatErrorMessage(validationContext.DisplayName);

                    return new ValidationResult(errorMessage);
                }
            }
            return ValidationResult.Success;
        }

        public MaxWordsAttribute(int word)
        {
            _maxWords = word;
        }

        private readonly int _maxWords;
    }

  

 [Required]
 [StringLength(160, MinimumLength=3)]
 [MaxWords(10)]
 public virtual string LastName { get; set; }

  

posted on 2013-02-19 17:39  fishyk  阅读(162)  评论(0编辑  收藏  举报

导航