2

laravelでBootstrap Validationを使用しているときに問題に直面しています。数値である必要があり、何らかの値よりも大きい必要がある入力フィールドがあります。2 つ目は、ドロップダウン変更オプションで入力フィールドを変更できることです。送信ボタンをクリックすると正常に動作します。しかし、ドロップダウンからオプションを変更して送信ボタンをクリックできない場合は、まだ無効になっています。私のコードは

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();

ただし、検証は、送信ボタンをクリックした後に初めて機能します。誰かが私がどこから間違っているかを教えてもらえますか? 前もって感謝します。

4

1 に答える 1

3

私は解決策を得ました。次のような .change() イベントを追加するだけです

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

それは私のために働いた。誰にでも役立つことを願っています。

于 2014-12-16T09:53:42.223 に答える