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? :<