我开始使用 SPA 模板(单页应用程序)开发 ASP.NET MVC4 解决方案。
起始模板使用一种便利贴设计来管理一些待办事项列表。
我以这种方式稍微修改了模板:
- 不再有用于显示元素的便利贴设计
- 但是列出所有元素的表格+删除+每个元素上的编辑按钮
- 在表格的末尾:一个添加按钮
我现在可以像这样在表单标签中编辑一个元素:
<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)。挪威克朗。
反之亦然:userId <--> title
。知道问题出在哪里吗?
这是下载我的测试 VS2012 解决方案以重现该问题的链接。