изменение проверяет сообщение в аннотировании данных

мой объект имеет поле с интервалом типа данных, когда я вставил форму HTML в этой букве текстового поля не, нумеруют блок проверки допустимости, говорят - поле должно быть числом. как я могу измениться, это обменивается сообщениями как это

 [Required(ErrorMessage = "Введите название")]
    [DisplayName("Название")]
    public int age { get; set; }
7
задан kusanagi 13 March 2010 в 20:37
поделиться

1 ответ

Я не нашел чистого способа добиться этого с помощью аннотаций к данным. Одним из способов было бы написать собственный связыватель модели, но для такой простой задачи требуется много работы.

Другой способ добиться этого - добавить папку App_GlobalResources в ваше приложение ASP.NET. Добавьте файл ресурсов с именем Messages.resx , содержащий строковый ресурс PropertyValueRequired .

PropertyValueRequired = "Some custom error message"

В Application_Start зарегистрируйте ключ класса ресурса:

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);
    DefaultModelBinder.ResourceClassKey = "Messages";
}

Обратите внимание, что ASP.NET MVC 2 использует PropertyValueInvalid вместо ключа ресурса PropertyValueRequired .

ИМО, использующие аннотации к данным для выполнения логики проверки, ограничено (возможно, в .NET 4 это изменится). Если вы хотите иметь полный контроль над логикой проверки, я бы порекомендовал вам использовать библиотеку проверки, такую ​​как Fluent Validation или xVal .

4
ответ дан 7 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: