Как сделать поля формы обязательными перед отправкой? - PullRequest
0 голосов
/ 28 сентября 2018

forms.py:

class QuestionForm(forms.ModelForm):
    class Meta:
        model = Question
        fields = ('Statement',)
        labels = {'Statement': _('Question'),
        }
        widgets = {
            'Statement': Textarea(attrs={'rows':1, 'cols':200}),
        }

class ResponseForm(forms.ModelForm):
    class Meta:
        model = Response
        fields = ('Response', 'Topic', 'Client', 'Planit_location')
        widgets = {
           'Response': Textarea(attrs={'rows':3, 'cols':200}),
        }

html:

<script>
    function myFunction() {
            alert("Added Successfully");
    }
</script>
<form method="post" name="uploadform" style="margin-left: 16px">
   {% csrf_token %}
   <h4>Add Data</h4>
   <table>
       {{ qform.as_table }}
       {{ rform.as_table }}
   </table>
   <button onclick="myFunction()" type="submit" class="btn btn-default">Submit</button>
</form>

views.py:

def adddata(request):
    if request.user.is_authenticated:
        username = request.user.username

    if request.method == 'POST':
        qform = QuestionForm(request.POST)
        rform = ResponseForm(request.POST)
        if qform.is_valid() and rform.is_valid():
            qf = qform.save()
            rf = rform.save(commit=False)
            rf.Question = qf
            rf.save()
            return HttpResponseRedirect(reverse('adddata'))
    else:
        qform = QuestionForm()
        rform = ResponseForm()
    return render(request, 'app/adddata.html', {
        "qform": qform,
        "rform": rform,
        "username": username,
    })

Я бы хотел, чтобы вопрос и ответ потребовалисьполя при попытке отправить пустое поле.

В тот момент, когда я нажимаю кнопку отправить, когда одно или оба поля пусты, выскакивает моё предупреждающее сообщение «Успешно добавлено», но в БД ничего не добавляется.

Как мне сделать так, чтобы поля были пустыми и когда я пытаюсь их отправить, появляется сообщение о том, что поля должны быть заполнены следующим образом: enter image description here

или что-то подобное

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