Настройте сообщение об ошибке для неверной даты в ASP.net MVC - PullRequest
7 голосов
/ 28 сентября 2011

У меня есть модель ASP.net MVC с датой:

public class EditModel
{ 
    [Display(Name="DOB")]
    public DateTime? DateOfBirth { get; set; }
}

@Html.TextBoxFor(m => m.DateOfBirth)
@Html.ValidationMessageFor(m => m.DateOfBirth)

Когда пользователь вводит недопустимую дату, такую ​​как 31.09.2011, сообщение об ошибке возвращается как это:

The value '9/31/2011' is not valid for DOB.

Это происходит, когда он пытается выполнить привязку модели и не является моей проверкой. Есть ли способ настроить это сообщение об ошибке? Я хотел бы, чтобы это было что-то вроде:

Please enter a valid date for the Date of Birth.

Я не требую, чтобы пользователь вводил Дату, но когда он вводит значение НЕПРАВИЛЬНО, я хочу настроить ошибку.

Ответы [ 4 ]

5 голосов
/ 28 сентября 2011

Вы можете использовать аннотации данных для ошибок, или, в этом случае, вы можете сделать это:

@Html.ValidationMessageFor(m => m.DateOfBirth , "Please enter a valid date for the Date of Birth.") 
3 голосов
/ 15 декабря 2011

Попробуйте,

[DataType(DataType.Date, ErrorMessage = "Please enter a valid date.")]
public System.DateTime DateOfBirth { get; set; }

Надеюсь, это поможет вам ..:)

1 голос
/ 29 сентября 2011
public class myClass()
{

    [Display(Name="Date of Birth"), DataType(DataType.Date, ErrorMessage = "Please enter a valid date for the Date of Birth.")]
    public string dateOfBirth { get; set; }
}
0 голосов
/ 27 июня 2014

Со мной сообщение об ошибке в типе данных не работает Удалите его , используя обычные

[Display(Name="Date of Birth")]
[RegularExpression(@"^(3[01]|[12][0-9]|0[1-9])[-/](1[0-2]|0[1-9])[-/][0-9]{4}$", ErrorMessageResourceName = "DateNotValid", ErrorMessageResourceType = typeof(Resources))]
    public string dateOfBirth { get; set; }

DateNotValid: используется в файле ресурсов.вы можете перейти к сообщению об ошибке, если вы хотите, чтобы вышеуказанный формат был для: dd-MM-YYYYY

...