У меня есть форма, которая позволяет мне устанавливать значения для нескольких объектов (например, книг) в одной HTML-форме. ASP.NET MVC для страницы принимает модель, которая содержит List<Book>
. Это повторяется для визуализации элементов формы для каждой книги.
Давайте представим, что мое единственное правило проверки заключается в том, что требуется название книги.
Если пользователь не может ввести названия книг, я хочу выделить все соответствующие текстовые поля заголовков книг с помощью класса css и отобразить предупреждение, которое гласит «Название книги требуется» только один раз.
Я бы хотел использовать плагин проверки jQuery для достижения этой цели.
Документация говорит нам, что, если мы хотим установить пользовательское сообщение об ошибке для элемента, мы делаем это с помощью атрибута name
соответствующего элемента формы HTML в разделе messages:
раздела validate()
настройка вызова.
например. (где мой HTML-элемент имеет name
из title )
$(".selector").validate({
rules: {
title: "required",
},
messages: {
title: "Book titles must be set",
}
})
Однако это кажется несовместимым с тем, что привязка модели ASP.NET MVC должна использовать атрибут name
при привязке к списку, поскольку он использует свойство name
каждого элемента формы с использованием очень специфического синтаксиса, например,
<form method="post" action="/Home/Create">
<input type="text" name="[0].Title" value="Curious George" />
<input type="text" name="[0].Author" value="H.A. Rey" />
<input type="text" name="[0].DatePublished" value="2/23/1973" />
<input type="text" name="[1].Title" value="Code Complete" />
<input type="text" name="[1].Author" value="Steve McConnell" />
<input type="text" name="[1].DatePublished" value="6/9/2004" />
<input type="text" name="[2].Title" value="The Two Towers" />
<input type="text" name="[2].Author" value="JRR Tolkien" />
<input type="text" name="[2].DatePublished" value="6/1/2005" />
<!-- There could be several more books in the form... -->
<input type="submit" />
(взято из взломан )
Являются ли эти противоречивые использования атрибута name
прерывателем сделки в том, что касается проверки jQuery?