Проверка начальной загрузки с помощью onClick и Onchange

Я сталкиваюсь с проблемой при использовании Bootstrap Validation в laravel. У меня есть поле ввода, которое должно быть числом и должно быть больше некоторого значения. Во-вторых, моё поле ввода также можно изменить с помощью параметра раскрывающегося списка. Работает нормально после нажатия на кнопку отправки. Но когда я изменяю опцию из выпадающего меню, кнопка "Отправить" все еще не может нажать, значит, она по-прежнему отключена. Мой код

function c() {
    var a = {
        notEmpty: {
            message: "You must set your price."
        },
        regexp: {
            regexp: /^\d+([\.,]\d+(\.\d+)?)?$/i,
            message: "Price must be a number."
        },
        greaterThan: {
            value: 0
        }
    };

    return a
}

var i = c();

$(".bv-form").bootstrapValidator({
    fields: {
        offer_price: {
            trigger: 'change keyup',
            validators: i
        }
    }
});

$(".create-bid-form button.submit").on("click", function(a) {
    var b = $(".create-bid-form").data("bootstrapValidator");
    b.isValid() && b.defaultSubmit(), b.validate();
}

После обновления входного значения я также добавил эту строку

$("input[name=offer_price]").change();

Но проверка работает только в первый раз после нажатия на кнопку "Отправить". Может кто-нибудь сказать, откуда я не прав. Заранее спасибо.

1 ответ

Я получил решение. Я просто добавляю событие.change() как

$(".bv-form")
.bootstrapValidator(k)
.change(function(e){
    $(".create-bid-form")
        .data("bootstrapValidator")
        .updateStatus('offer_price', 'NOT_VALIDATED')
        .validateField('offer_price');
})
.end();

Это сработало для меня. Я надеюсь, что это поможет кому-нибудь.

Другие вопросы по тегам