Как проверить правильность ввода в поле на веб-странице без перезагрузки веб-страницы?
(я новичок в django и html) Как я могу отсеять спам в определенном поле во время приема ввода от пользователя? Также, как показать сообщение пользователю, что введенное значение не принято, потому что это спам, без перезагрузки веб-страницы.
Например, в поле, показанном на картинке, если пользователь вводит число или что-то вроде test123 или что-то еще, что не является правильным именем, моя веб-страница должна показать пользователю сообщение без загрузки веб-страницы, что введенное значение не является действительным. Я также не против поместить кнопку с надписью validate для проверки значения поля имени. Как я могу достичь этого, используя Django+html+jquery?
Самый простой способ - использовать атрибут pattern:
<input type="text" pattern="[A-zÀ-ž][A-zÀ-ž\s]+">
Браузер автоматически проверит, когда вы отправите форму.
A-z
означает: латинские символы.
À-ž
обозначает диакритические знаки.
\s
обозначает пробел.
Обратите внимание, что вышеприведенный паттерн требует, чтобы имя начиналось с буквы и имело не менее 2 символов, чтобы быть действительным.
В Django вы можете определить поле вашей формы следующим образом:
full_name = forms.CharField(label='Full name', widget=forms.TextInput(attrs={"pattern":"[A-zÀ-ž][A-zÀ-ž\s]+"}))