select2 and jquery validation not working properly

后端 未结 2 1617
说谎
说谎 2020-11-29 13:13

Trying to use validation on select2 with a few issues :

  • the error message will show, but it will not remove when a valid entry is entered.

  • I

2条回答
  •  迷失自我
    2020-11-29 13:35

    By default, the validation on a field is only triggered by these events (for a type="text" field)...

    • onfocusout, when the user leaves a field (validates just the field)

    • onkeyup, when the user is typing within a field (validates just the field)

    • onclick, when the user clicks the submit button (validates the whole form)

    If you need to programmatically trigger validation after you programmatically change the value of a field, then you need to invoke the .valid() method on that field. It will effectively trigger validation similar as the events above.

    $('#myField').valid();  // validates just field element with id="myField"
    
    $('#myForm').valid();  // validates the whole form
    

    So you'll need to find a method within select2 that is fired whenever the value is changed and put .valid() inside of that. It looks like the change event is what you'll need.

    $("#vedit-filter").select2({
        // your options here
    }).on('change', function() {
        $(this).valid();
    });
    

提交回复
热议问题