Программно запускать проверку формы с помощью JQuery Validator не работает - PullRequest
0 голосов
/ 26 мая 2020

Согласно документам jQuery Validator, выполняющий это, должен программно запускать проверку формы.

var validator = $( "#myform" ).validate();
validator.form();

Но в моем коде он ничего не делает, почему? У меня есть кнопка отправки в моей форме, которая работает нормально, но validator.form () не работает вообще. Я обновил сообщение своей формой HTML, а также кодом javascript. Это моя форма

<form class="kt-form kt-form--label-right" id="frm_sok" action="ajax/artikkel.php?a=sok_artikler" method="post">
    <div class="kt-portlet__body">
        <div class="kt-blog-post">
          <div class="form-group ">                     
                <div class="col-12">
                    <input class="form-control" type="search" value="{{ sok }}" id="searchinput" name="searchinput">
                </div>
            </div>
         <div class="row">
                <div class="col-4">
                   <label>Ikke søk i :</label>
               <div class="form-check">
                  <input class="form-check-input" type="checkbox" value="1" id="skjulnyheter" name="skjulnyheter">
                  <label class="form-check-label" for="skjulnyheter">Nyheter</label>
               </div>
               <div class="form-check">
                  <input class="form-check-input" type="checkbox" value="1" id="skjulforum" name="skjulforum">
                  <label class="form-check-label" for="skjulforum">Forum</label>
               </div>
                </div>
                <div class="col-4">
                   <label for="sorter">Sorter:</label><br />
               <select class="form-control" name="sorter" id="sorter">
                  <option value="a.opp_dato DESC">Nyeste</option>
                  <option value="score">Beste treff</option>
                  <option value="a.opp_dato ASC">Eldste</option>
               </select>
                </div>
            </div>               
        </div>
    </div>
    <div class="kt-portlet__foot">
        <div class="kt-form__actions">
            <input type="submit" class="btn btn-primary sokknapp" value="Søk" />
        </div>
    </div>
</form>

Вот моя Javascript:

$( window ).on( 'load', function() 
{
   var validator = $("#frm_sok").validate(
   {
       rules:
       {
        searchinput: 
        {
            required: true
        }                   
        },
        messages:
        {
            searchinput : 
            {
                required : 'Du må neste søke etter noe. Noe som helst. Ett eller annet.'
            }
        },
        invalidHandler: function(event, validator) 
        {
            $('.error').css( "display", "inline-block !important");
        },
        submitHandler: function(form) 
        {
        preload_kamp();
            $(form).ajaxSubmit(
            {
                success: function(data) 
                {
                $( "#sokcontent" ).html(data);
                }
            });
        }
    });


   validator.form();

});
...