如何使用parsley.js订阅单个字段?

时间:2015-02-02 18:41:05

标签: jquery parsley.js

我试图想出一种方法来改变成功验证字段的css元素(使用parsley.js)。以下是我给出的回复,我不明白如何做到这一点。

  

"解决方案是听取正确的事件   全球或通过订阅个别表格或领域。香菜   事件:http://parsleyjs.org/doc/index.html#psly-events-overview

     

你可能想要欧芹:字段:成功和欧芹:字段:错误   事件

     

一旦你有了一个事件处理程序,就会有各种各样的策略   使用jQuery可以使用 - 您可以检查成功类   元素"

我真的不明白如何完成上述答案中描述的内容。

如何将div的显示更改为“没有”'在成功验证表格字段后?

1 个答案:

答案 0 :(得分:5)

Parsley有一个事件列表,当事情发生时触发。您可以查看完整的list in the docs

假设您想要在验证某些字段时隐藏div(反之,您希望在未验证字段时显示div),您可以使用事件parsley:field:successparsley:field:error正如回应中所建议的那样。

要使用这些事件,您需要听取它们,以便执行某些操作。您可以通过$.listen('event:name', callback)usage in docs)完成此操作。

所以你需要的是这样的东西:

// Listen to the event triggered when SOME field is validated 
$.listen('parsley:field:success', function(parsleyField) {
    // We need to check what is the validated field
    if (parsleyField.$element.attr('name') == 'some-form-field') {
        // given that this is the field we want, we'll hide the div
        $('#div-to-hide').hide();
    }
});

// This is needed in order to display the div after the field was validated.
// Imagine that the field was validated and then the user changed its content
// and now the field is not valid
$.listen('parsley:field:error', function(parsleyField) {
    if (parsleyField.$element.attr('name') == 'some-form-field') {
        $('#div-to-hide').show();
    }
});