parsley.js可以与knockout.js一起使用吗?

时间:2013-08-14 20:48:51

标签: validation knockout.js parsley.js

我刚刚了解了parsley.js,并且我正在尝试将其验证功能添加到已经与knockout.js绑定连接的项目中。这是标记:

<form id="form-add-gift" data-bind="submit: addGift" data-validate="parsley">
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Gift</th><th>Description</th><th>Url</th><th></th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <td><input id="txtName" name="txtName" type="text" data-required="true" data-bind="value: newGift().name" /></td>
                <td><input id="txtDescription" name="txtDescription" type="text" data-bind="value: newGift().description" /></td>
                <td><input id="txtUrl" name="txtUrl" type="text" data-type="url" data-bind="value: newGift().url" /></td>
                <td><button id="btnAdd" name="btnAdd" class="btn" type="submit" data-bind="disable: newGift().name.length > 0">Add gift</button></td>
            </tr>
        </tfoot>
        <tbody data-bind="foreach: gifts">
            <tr>
                <td id="tdName" data-bind="text: name"></td>
                <td id="tdDescription" data-bind="text: description"></td>
                <td id="tdUrl" data-bind="text: url"></td>
                <td><a id="btnRemove" class="btn btn-danger" href="#" data-bind="disabled: $parent.isClaimed, click: $parent.removeGift">Remove</a></td>
            </tr>
        </tbody>
    </table>
</form>

当我点击“添加礼物”按钮时,我的knockout.js addGift()函数会触发,之后会发生parsley.js验证。显然这是不正确的。有没有办法让parsley.js与knockout.js绑定玩得很好?

1 个答案:

答案 0 :(得分:1)

我认为parsley.js不能直接与KnockoutJs一起使用,但这并不能阻止您使用它们很好地

快速浏览 Documentation - &gt; Javascript - &gt;表格您可以使用此方法:

$('#form').parsley('isValid');
  

如果要在内部集成表单验证过程,则非常有用   自定义函数,不会触发错误消息。

<强>更新

你也可以试试这个:

$( '#form' ).parsley( 'validate' );
  

如果要在内部集成表单验证过程,则非常有用   自定义功能。