MVC 3 Проблемы с jquery validation и textarea

Случилось так, что не работала у меня нормально jquery валидация для поля textarea. А именно проблема была в следующем.
Есть у меня типизированная вьюха (View) Create.aspx для создания сущности. По идее эта вьюха не принимает никакие значения полей, а просто отдает модель данного типа и все поля ввода пустые. Но мне надо было при переходе с быстрой (краткой) формы создания передать в полную форму многострочное поле ввода, которое я описала во вьюхе как <%: Html.TextAreaFor(model=>model.Text)%> (оно присутствует в обеих формах). Я пробовала создать в контроллере новый элемент нужного мне класса и заполнить только нужное мне поле (остальные поля были автоматически заполнены значениями по-умолчанию при создании экземпляра класса). В результате заметила, что помимо всего прочего, textarea неправильно генерировась в хтмл код.
Надо было (этот код успешно генерируется в случае перзагрузке страницы, что логично):

textarea cols="50" data-val="true" data-val-length="Текст должен состоять минимум из 1 символов и максимум из 1000." data-val-length-max="1000" data-val-length-min="1" data-val-required="The Текст field is required." id="Text" name="Text" rows="10">

А генерировалось:

textarea class="input-validation-error" cols="50" id="Text" name="Text" rows="10">


(Чтобы показать хтмл пришлось убрать по одной угловой скобке вначале)
В моем случае помимо textarea были еще однострочные поля ввода Html.EditorFor() — для них валидация работала замечательно. Так вот, чтобы было многострочное поле ввода и валидация работала, надо в модели, где описана валидация: что поле обязательное, ограничения на длину, например. Туда следует дописать следующую строчку: [DataType(DataType.MultilineText)]

Источник 

Комментарии

Популярные сообщения