Я начал работать над решением ASP.NET MVC4 с шаблоном SPA (одностраничное приложение).Как реализовать эту проверку в форме нокаута?
Стартовый шаблон управляет некоторыми списками списка дел с видом пост-дизайна.
Я слегка модифицирована шаблону таким образом:
- не более постэто дизайн для dislaying элементов
- но таблицы перечислить все элементы + удалить + кнопку редактирования на каждом элементе
- на конец таблицы: добавить кнопку
у меня есть теперь возможность редактирования одного элемента в виде тега, например так:
<form data-bind="with: currentTodoList, validate: true">
<h1>Edition</h1>
<table>
<tr>
<td>ID</td>
<td><b data-bind="text: todoListId"></b></td>
</tr>
<tr>
<td>User ID:</td>
<td><input class="required" data-bind="value: userId" /></td>
</tr>
<tr>
<td>Title:</td>
<td><input class="required" data-bind="value: title" /></td>
</tr>
<tr>
<td>Category:</td>
<td><input data-bind="value: category" /></td>
</tr>
</table>
<p>
<button data-bind="click: $parent.saveTodoList">Save</button>
<button data-bind="visible: todoListId, click: $parent.deleteTodoList">Delete</button>
<button data-bind="click: $parent.showGrid">Cancel</button>
</p>
</form>
Как вы можете видеть выше, я устанавливаю привязку данных проверки на тег формы, и у меня есть элемент ввода с требуемым классом.
Когда я тестирую эту реализацию, она не работает должным образом. Пример:
- Если я очищаю (пусто) поле userId (что необходимо), у меня есть красное сообщение проверки (рисунок 1). ОК.
- Если я снова заполню это поле userId, красная проверка сообщений исчезла. ОК.
- Затем, если я очистил (пусто) поле заголовка (что также необходимо), у меня есть красное сообщение проверки рядом с полем userId (рисунок 2). NOK.
Обратное также верно: userId <--> title
. Любая идея, где проблема?
Вот link, чтобы загрузить мое тестовое решение VS2012, чтобы воспроизвести проблему.
Каков элемент, который содержит сообщение о красной проверке? Я не вижу span/div для отображения сообщения проверки в вашей форме. –
Это правильно. У меня нет тега для сообщения проверки. Я гость это управляется каркасом. Может, это неправильный способ? – Bronzato
Я использовал расширения, чтобы иметь такие проверки. Я не эксперт по нокауту, но пример http://knockoutjs.com/documentation/extenders.html говорит о чем-то подобном тому, что вы делаете. –