Работа с формами в Django и проверка ввода всех полей ввода - PullRequest
0 голосов
/ 02 февраля 2020

Я создал страницу контакта и там я создал форму, которая выглядит следующим образом

enter image description here

Теперь я хочу, чтобы кнопка «Отправить» проверила все ли поля ввода введены. Если это так, я хочу активировать

<form action="{% url 'contact' %}" method="post">

В противном случае нет активации после метода. Вместо этого появится всплывающее окно с сообщением: «Пожалуйста, введите все поля» enter image description here

Если активирован метод записи, я хочу go для контакта {% url ' '%} - это мой файл views.py и проверьте, может ли система извлечь все значения из полей ввода.

enter image description here

Если это произойдет, будет обработан обратный рендеринг fre sh страницы контакта (запрос, «myapp / contact. html») И вывести в браузер еще одно окно с сообщением «Форма успешно отправлена». Еще одно окно с сообщением в браузер: «При отправке формы произошла ошибка»

Я действительно не могу найти способ реализовать это. Я новичок ie, это Django и Python. У меня минимальный опыт в html и CSS. Но нет JavaScript, хотя я использовал небольшой код JavaScript, я бы sh полностью использовал Python, HTML и CSS. Возможно ли реализовать этот сценарий, используя мой нужный язык?

Если да, скажите, пожалуйста, как.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2020

Вы можете сделать это при проверке на стороне клиента. Для проверки ни одно из полей не должно быть пустым. Как это

function validateForm() {
    var isValid = true;
         $('.form-field').each(function() {
              if ( $(this).val() === '' )
                   confirm("All Fields are required!");
                    isValid = false;
           });
     return isValid;
}
0 голосов
/ 02 февраля 2020

Я бы рекомендовал использовать Django формы. https://docs.djangoproject.com/en/3.0/ref/forms/api/#django .forms.Form

Создайте форму контакта с классом формы, передайте ее в шаблон. Он сделает теги HTML для проверки браузера по умолчанию. Это также позволит проверку бэкэнда при отправке формы. Затем вы можете перенаправить пользователя, если форма действительна или недействительна.

Если вы хотите сделать это с нуля, вы можете сделать следующее.

В вашем HTML убедитесь, что вы добавили обязательный атрибут в обязательные поля ввода

<input name="name" type="text" ... required ... >

Импорт сообщений из django сообщений, проверка правильности ввода пользователя, добавление сообщения и отображение контакта. html. Это отправит сообщение в шаблон. Вы можете оформить сообщение с помощью HTML и CSS.

В views.py

from django.contrib import messages

if request.method == POST:
    ...
    name = request.POST.get('name')
    if name == '':
        messages.warning(request, 'Please enter name !')
        return render(request, 'myapp/contact.html')
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...