KNOCKOUTJS 'Cart editor'具有 jquery 验证插件问题的示例



我把原来的'购物车编辑器'的例子在http://knockoutjs.com/examples/cartEditor.html (jsFiddle - http://jsfiddle.net/rniemeyer/adNuR/),并添加了jquery验证插件。我想对第一个Category选择列表进行验证,使其成为必需的。所以我做了以下修改:

  • 使提交按钮只是一个直接的type=submit输入
  • 包围了<form>
  • 中的控件
  • 在脚本末尾执行$("form").validate()
  • <select>
  • 中添加class='required'
  • data-bind
  • 中添加uniqueName: true

这是我做的jsFiddle: http://jsfiddle.net/niner/JXJtj/3/。因此,如果category列表中没有任何内容,则验证将有效。然而,如果我做了一个有效的选择(例如摩托车),当我按下"提交"时,它仍然显示"该字段是必需的"。即使我正确地选择了所有其他选项,我仍然会在category选择控件上得到验证错误。有人能看一下,让我知道我遗漏了什么吗?

谢谢。

你的选项都没有值,所以验证总是失败,因为.val()总是返回一个空字符串。您可以通过将optionsValue: "name"添加到data-bind表达式中来为您的选项提供一个值:

http://jsfiddle.net/gilly3/JXJtj/4/

最新更新