РЕДАКТИРОВАТЬ: я использую формы 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>