jquery.validate.min.js nie waliduje podczas ładowania strony

0

Od wielu godzin walczę z problemem z uruchomieniem walidowania podczas ładowania strony, albo innego eventu.
Chcę zrobić tak aby użytkownik uruchamiający bootstrapowy modal z formularzem, na wstępie miał zwalidowane pola.
Za chiny nie mogę tego zrobić - formularz waliduje się dopiero po wpisaniu czegoś i kliknięciu poza walidowane pole...

...
<form id="mainForm" action="#">
                                        <div class="position-relative form-group">
                                            <label for="receiver" class="form-label h6">Receiver Institution</label>
                                            <input type="text" class="form-control toUpper" name="receiver" id="receiver" placeholder="8 lub 11 znaków" value="$!bicCode">
                                        </div>
...
        <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js" integrity="sha512-UdIMMlVx0HEynClOIFSyOrPggomfhBKJE28LKl8yR3ghkgugPnG6iLfRfHwushZl1MOPSY6TsuBDGPK2X4zYKg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/localization/messages_pl.min.js" integrity="sha512-OgbDX330y3Q7sTNtp9ssUs0iooLuO83Pp6jU0aEZdyHwmhgKjMZFOmjV9274FID/fBVUfcjVrkupiEKgOk3nIQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
        <script src="js/validation.js"></script>
var errorMessage = "";
$("#mainform").ready(function () {
    // ---------------------------
    $.validator.addMethod('validator123', function (value, element, param) {
        errorMessage = "";
        if(value.length < 8) errorMessage = "Minimum 8 znaków";
        else if(value.length > 11) errorMessage = "Nie więcej niż 11 znaków";
        else if(value.length > 8 && value.length < 11) errorMessage = "8 lub 11 znaków";
        return errorMessage === "";
    }, function(params, element) {
        return errorMessage;
    });
    var validator = $("#mainForm").validate({
        errorClass: "is-invalid",
        validClass: "is-valid",
        rules:
            {
                receiver: {
                    required: true,
                    validator123: true,
                    normalizer: function(value) {
                        return value.toUpperCase();
                    }
                }
            },
        messages:
            {
            },
        submitHandler: function(form) {

        }
    });
    console.error("END OF READY");
    validator.form();
});

validator.form(); w kodzie js nie działa, a jak uruchamiam w consoli przeglądarki to działa i waliduje poprawnie.

Jakieś rady? :<

0

Waliduj kiedy pokażesz modal userowi.

$('#myModal').on('shown.bs.modall', function (e) {
// walidacja...
})

... tylko nie wiem po co walidować i to jeszcze na poziomie frontendu zanim user coś naklepie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1