Сообщение о проверке формы JavaScript продолжает срабатывать при наборе текста - PullRequest
0 голосов
/ 01 апреля 2019

РЕДАКТИРОВАТЬ: я использую формы Symfony для создания формы, но не уверен, что это актуально

Я проверяю элемент textarea, чтобы проверять только пробелы, и выкидываю ошибку, если нет символов. Проверка работает и запускается кнопкой отправки. Однако, если сообщение проверки запускается, оно будет появляться каждый раз, когда я печатаю, даже если это не пробел.

Это мой файл JS

jQuery(document).ready(function () {
//the submit button is #announcement_create_save
    $('#announcement_create_save').click(function () {
        var content = $('#announcement_create_content').val();
// The regex which checks if the field only has whitespace
        if (!(/.*\S+.*/.test(content))) {
            document.getElementById('announcement_create_content').setCustomValidity('Please fill out this field.');
        }
        else {
            document.getElementById('announcement_create_content').setCustomValidity("");
        }
    })
});



HTML

<form name="announcement_create" method="post">
                        <div class="announcement-card-body">
                            <label for="announcementText" class="content-label">Announcement (Supports Markdown)</label>
                            <textarea id="announcement_create_content" name="announcement_create[content]" required="required" class="form-control announcement-text" rows="5" name="content" maxlength="2000"></textarea>
                        </div>
                    </div>
                </div>
            <div class="card-footer border-0 bg-white pt-0">
                <div>
                    <button type="submit" id="announcement_create_save" name="announcement_create[save]" class="btn btn-primary"><span class="fas fa-check"></span>  Post announcement </button>
                    <button type="button" class="btn btn-light" data-dismiss="modal" aria-label="Close">Cancel
                    </button>
                </div>
            </div>

    </form>

1 Ответ

0 голосов
/ 02 апреля 2019

После запуска проверки на несколько секунд отображается всплывающее уведомление о проверке
enter image description here
Подождите, пока не сработает это сообщение проверки, и после этого попытайтесь ввести текстовую область.

Оповещение не срабатывает каждый раз, когда ввод текста занимает задержку из-за загрузки JavaScript на несколько секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...