我把原来的'购物车编辑器'的例子在http://knockoutjs.com/examples/cartEditor.html (jsFiddle - http://jsfiddle.net/rniemeyer/adNuR/),并添加了jquery验证插件。我想对第一个Category
选择列表进行验证,使其成为必需的。所以我做了以下修改:
- 使提交按钮只是一个直接的
type=submit
输入 - 包围了
<form>
中的控件 - 在脚本末尾执行
$("form").validate()
- 在
<select>
中添加 - 在
data-bind
中添加
class='required'
uniqueName: true
这是我做的jsFiddle: http://jsfiddle.net/niner/JXJtj/3/。因此,如果category
列表中没有任何内容,则验证将有效。然而,如果我做了一个有效的选择(例如摩托车),当我按下"提交"时,它仍然显示"该字段是必需的"。即使我正确地选择了所有其他选项,我仍然会在category
选择控件上得到验证错误。有人能看一下,让我知道我遗漏了什么吗?
谢谢。
你的选项都没有值,所以验证总是失败,因为.val()
总是返回一个空字符串。您可以通过将optionsValue: "name"
添加到data-bind
表达式中来为您的选项提供一个值: