При скрытии поля email, отключать его проверку на пустоту

Есть select, в зависимости от выбора, он либо скрывает поле email, либо оставляет, если он оставляет проверка должна работать, если поле email скрывается проверка на его пустоту не должна работать, как это можно сделать??

  
    // Валидация номера
  
  function IsEmail(email) {
                if ((email) == '') {
                    $("#email_error").html(" Вы не указали email").show();
                    return false;
                }
                var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                if (!regex.test(email)) {
                    $("#email_error").html("Неверный формат почты").show();
                    return false;
                } else {
                    return true;
                }
            }

            // Валидация номера

            function IsPhone(phone) {
                if ((phone) == '') {
                    $("#phone_error").html("Вы не указали телефон").show();
                    return false;
                }
                if (phone.length < 11) {
                    $("#phone_error").html("Неправильно введен номер").show();
                    return false;
                } else {
                    return true;
                }
            }
            
            
            //////// проверка
            
            
              beforeSend: function () {
                        let a = false;
                        let scrollToElement = false; //До какого элемента скроллить, если false - скролла не будет
                        
                           if (IsPhone(phone) == false) {
                            const phoneErrorId = "#phone";
                            $("#phone_error").show();
                            scrollToElement = scrollToElement === false ? phoneErrorId : scrollToElement;
                            a = true;
                        }

                        if (IsEmail(email) == false) {
                            const emailErrorId = "#email";
                            $("#email_error").show();
                            scrollToElement = scrollToElement === false ? emailErrorId : scrollToElement;
                            a = true;
                        }

                        if (scrollToElement) {  // Если в scrollToElement записан какой-то элемент (значение scrollToElement не равно false)
                            $([document.documentElement, document.body]).animate({
                                scrollTop: $(scrollToElement).offset().top
                            }, {
                                duration: 550,
                                easing: "linear"
                            });

                            if (a) return false; // Если a = true - вернется false, если а = false - вернется true
                        }
<!-- Мобильный номер -->

            <fieldset class="field-set col col--6-12" id="phone-field">
                <label for="orderPhone" class="field-set__label checkList">
                    Мобильный телефон </label>
                <input type="tel" class="field interTel datas phone_number input-check" id="phone"
                       name="phone"
                       onkeyup="showOrHideBlock('phone_error','phone')" onchange="showBlock3()"
                       onkeypress="showBlock3() "
                       value="{{$dataUrl['phone'] ?? ''}}">
                <strong><small id="phone_error" class="form-text text-" style="display: none; color: crimson">
                        Вы не указали телефон</small></strong>
            </fieldset>

            <!-- E-Mail -->

            <fieldset class="field-set col col--6-12 email-field">
                <label for="orderEmail" class="field-set__label checkList">
                    E-Mail </label>
                <input type="text" class="field datas keyboardInput agentData1 input-check" id="email" name="email"
                       onkeyup="showOrHideBlock('email_error','email')"  onchange="showBlock3()" onkeypress="showBlock3()"
                       value="{{$dataUrl['email'] ?? ''}}">
                <strong><small id="email_error" class="form-text"
                               style="display: none; color: crimson"></small></strong>
            </fieldset>
            
            
            <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
            
            
             $(".sms").on('change', function () {


            if ($("#notificationISN").val() == 898811) {

                $(".email-field").show();
                $("#phone-field").attr('class', 'col col--6-12');


            } else if ($("#notificationISN").val() == 898821) {

                $(".email-field").show();
                $("#phone-field").attr('class', 'col col--6-12');

            } else if ($("#notificationISN").val() == 898831) {

                $(".email-field").hide();
                $("#phone-field").attr('class', 'col col-12');

                $("#block3").show();
                $("#calculateSum").show();

            } else if ($("#notificationISN").val() == 898841) {

                $(".email-field").show();
                $("#phone-field").attr('class', 'col col--6-12');

            } else if ($("#notificationISN").val() == 898851) {

                $(".email-field").hide();
                $("#phone-field").attr('class', 'col col--12-12');

                $("#block3").show();
                $("#calculateSum").show();

            }

        });


 От выбора select скрываем или же показываем поле email


Ответы (1 шт):

Автор решения: Дмитрий

if($(".email-field").hasClass('hidden')) . Вернет true, если элемент скрыт

→ Ссылка