Jquery 协助敲除验证

Jquery 协助敲除验证,jquery,knockout.js,Jquery,Knockout.js,我使用Knockout库编写了一个ViewModel(主要基于他们的在线指导),它进行了一些验证。一切都很完美,除了 1) 启动“我的对话框”后立即调用验证 2) 我希望将验证绑定到对话框按钮而不是输入框,并且仅当用户单击“添加新帐户”按钮时才会触发它 下面是我的JSFIDLE的链接。感谢您提供的任何指导 HTML <a href="#" id="createAccount">Create New Account</a> <div id="newAccount

我使用Knockout库编写了一个ViewModel(主要基于他们的在线指导),它进行了一些验证。一切都很完美,除了

1) 启动“我的对话框”后立即调用验证

2) 我希望将验证绑定到对话框按钮而不是输入框,并且仅当用户单击“添加新帐户”按钮时才会触发它

下面是我的JSFIDLE的链接。感谢您提供的任何指导

HTML

<a href="#" id="createAccount">Create New Account</a> 

<div id="newAccount" title="New Account">
<p> 
    <span class="ui-state-highlight" data-bind='visible: accountName.hasError, text: accountName.validationMessage'> </span>
</p>
  <form>
  <fieldset>
      <label for="name">Enter Account Name:</label><br />
    <input type="text" id="accountName" data-bind='value: accountName, valueUpdate: "afterkeydown"'  />
  </fieldset>
  </form>
</div>
干杯


Claude

您需要对代码进行两次修改:

  • 要防止对话框启动后立即调用验证,只需删除或注释这一行
    validate(target())。这只是初步验证
  • 应用模型绑定打开对话框时,如果对话框未打开,则无需应用模型绑定:
  • 像这样

    open:function(){
        ko.applyBindings(new ViewModel());
    }
    

    请检查此

    谢谢您的回复。首次加载对话框时,错误消息将被抑制,但单击“添加新帐户”按钮时不会触发验证。。想法?@mynameisno我在单击添加新帐户按钮时更新了我的JSFIDLE以启动验证。再次感谢您的帮助:)@mynameisno不客气,我再次编辑了我的JSFIDLE。请检查一下
    open:function(){
        ko.applyBindings(new ViewModel());
    }