Атрибуты аннотации данных MVC 3 периодически игнорируются - PullRequest
1 голос
/ 26 июня 2011

Я расширил проект DataAnnotationExtensions с поддержкой проверок Min / Max / RangeWords, как на стороне сервера, так и на стороне клиента. Проверки работают прекрасно, но я вижу следующую проблему:

Учитывая поле в модели, описанной как

[Required(ErrorMessage = "Please enter a short description")]
[MaxWords(40, ErrorMessage = "Description is too long - 40 words max")]
[DisplayName("Business description")]
[DataType(DataType.MultilineText)]
public string Description { get; set; }

Data.MultilineText действует только после того, как я перекомпилирую проект (и / или внесу некоторые изменения, требующие перекомпиляции). После этого класс multi-line не добавляется к рассматриваемому полю. Другими словами: при первом запуске формы все выглядит хорошо; при втором запуске атрибут, по-видимому, игнорируется, и я получаю однострочное текстовое поле.

Я должен отметить, что в проекте сообщения об ошибках и описания не на английском языке, а на иврите (не уверен, если это имеет какой-либо эффект). Кроме того, проверка работает как внутри этого проекта, так и в отдельном тестовом проекте.

Что может быть виновником? Это что-то на моей стороне, или ошибка в обработке DataType?

Спасибо и всего наилучшего, Илья.

1 Ответ

0 голосов
/ 07 ноября 2013

Вы должны использовать текстовую область в своем представлении, если можете.

@Html.TextAreaFor(model => model.Description)

Вы также можете написать EditorTemplate для этого, реализовать нужный HTML-код и использовать @Html.EditorFor(model => model.Description)

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...