3

我刚刚了解了 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 绑定配合得很好?

4

1 回答 1

1

我不认为parsley.js意味着直接与KnockoutJs一起工作,但这不能阻止你很好地使用它们。

快速浏览文档-> Javascript -> 表单,您可以使用此方法:

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

如果您想在自定义函数中集成表单验证过程而不触发错误消息,这很有用。

更新

你也可以试试这个:

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

如果您想将表单验证过程集成到自定义函数中,这很有用。

于 2013-08-15T10:25:25.123 回答