Проверка строк MinLength и MaxLength не работает (asp.net mvc)

У меня есть этот класс

using System.ComponentModel.DataAnnotations;
using Argussoft.BI.DAL.Domain.Users;

namespace Argussoft.BI.DAL.DTOs.UserDTOs
{
    public class CreateUserDto
    {
        [Required(ErrorMessage = "Введите логин")]
        [MaxLength(User.EmailLength, ErrorMessage = "Максимальная длина логина 40 символов")]
        [RegularExpression(User.NameRegularExpression, ErrorMessage = "Логин может содержать только латинские символы, дефисы, подчеркивания, точки")]
        public string Name { get; set; }

        [Required(ErrorMessage = "Введите Email")]
        [MaxLength(User.EmailLength, ErrorMessage = "Максимальная длина адреса электронной почты 100 символов")]
        [RegularExpression(User.EmailRegularExpression, ErrorMessage = "Введите корректный адрес электронной почты")]
        public virtual string Email { get; set; }

        [Required(ErrorMessage = "Введите имя пользователя")]
        [MaxLength(User.FullNameLength, ErrorMessage = "Максимальная длина имени пользователя 100 символов")]
        [RegularExpression(User.NameRegularExpression, ErrorMessage = "Имя пользователя может содержать только латинские символы, дефисы, подчеркивания, точки")]
        public virtual string FullName { get; set; }

        public virtual int Role { get; set; }

        [RegularExpression(User.PhoneRegularExpression, ErrorMessage = "Введите корректный номер телефона")]
        public virtual string Phone { get; set; }

        public virtual int Status { get; set; }

        [Required(ErrorMessage = "Введите пароль")]
        [MinLength(User.PasswordMinLength, ErrorMessage = "Минимальная длина пароля 5 символов")]
        [MaxLength(User.PasswordMaxLength, ErrorMessage = "Максимальная длина пароля 20 символов")]
        [RegularExpression(User.PasswordRegularExpression, ErrorMessage = "Пароль может содержать только латинские символы, дефисы, подчеркивания, точки")]
        public virtual string Password { get; set; }
    }
}

и эта форма

@model Argussoft.BI.DAL.DTOs.UserDTOs.CreateUserDto

@using (Ajax.BeginForm("CreateUser", "User", new AjaxOptions { OnSuccess = "onSuccessCreateUser" }, new { id = "dialog_form", @class = "form-horizontal" }))
{
    
        ×
        Добавить пользователя
    
    

        
        
            Логин
            
                
                    @Html.TextBoxFor(model => model.Name, new { @class = "span3", id = "input_name" })
                    <br>
                    @Html.ValidationMessageFor(model => model.Name)
                
            
        

        
        
            Email
            
                
                    @Html.TextBoxFor(model => model.Email, new { @class = "span3", id = "input_email" })
                    <br>
                    @Html.ValidationMessageFor(model => model.Email)
                
            
        

        
        
            Имя пользователя
            
                
                    @Html.TextBoxFor(model => model.FullName, new { @class = "span3", id = "input_full_name" })
                    <br>
                    @Html.ValidationMessageFor(model => model.FullName)
                
            
        

        
        
            Роль пользователя
            
                
                    @Html.DropDownList("Role", (SelectList)ViewBag.Roles,new{id ="input_role"})
                    <br>
                    @Html.ValidationMessageFor(model => model.Role)
                
            
        

        
        
            Контактный телефон
            
                
                    @Html.TextBoxFor(model => model.Phone, new { @class = "span3", id = "input_phone" })
                    <br>
                    @Html.ValidationMessageFor(model => model.Phone)
                
            
        

        
        
            Статус пользователя
            
                
                    @Html.DropDownList("Status", (SelectList)ViewBag.UserStatuses,new{id ="input_status"})
                    <br>
                    @Html.ValidationMessageFor(model => model.Status)
                
            
        

        
        
            Пароль пользователя
            
                
                    @Html.TextBoxFor(model => model.Password, new { @class = "span3", id = "input_password" })
                    <br>
                    @Html.ValidationMessageFor(model => model.Password)
                
            
        

    
    
        <a href="@Url.Action(" userindex",="" "user")"="" class="btn">Отменить</a>
        Сохранить
    
}

Класс пользователя:

public class User : BaseEntity 
{ 
    public const int NameLength = 40; 
    public const int PasswordMinLength = 5; 
    public const int PasswordMaxLength = 20; 
    public const int FullNameLength = 100; 
    public const int EmailLength = 100; 
    public const int PhoneLength = 40; //...
}

но моя проверка работает только дляRequired а такжеRegularExpression и неработать наMinLength а такжеMaxLength и я неВ этом случае не может появиться сообщение об ошибке.

В чем может быть причина?

Ответы на вопрос(5)

Ваш ответ на вопрос