使用onClick和Onchange进行Fire Bootstrap验证

时间:2014-12-15 14:13:54

标签: jquery jqbootstrapvalidation

我在laravel中使用Bootstrap验证时遇到了问题。我有一个输入字段应该是一个数字,并且必须比某个值更大,第二件事是我的输入字段也可以通过下拉更改选项进行更改。点击提交按钮后,它工作正常。但是当我从下拉列表中更改选项时,提交按钮仍然无法单击,表示它仍然禁用。我的代码是

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 个答案:

答案 0 :(得分:3)

我得到了解决方案。我只是添加.change()事件,如

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

这对我有用。我希望对任何人都有帮助。