繁体   English   中英

有效()阶段的 Django 表单验证失败

[英]Django form at valid() stage failing Validation

我创建了一个 html 表单,该表单链接到 django 表单。 当 html 表单数据传递到 django 表单时,它在 form.is_valid(): 处失败。 我认为它与格式有关,但我已阅读文档但找不到解决方案。

表格.py

class AvailabilityForm(forms.Form):
    name = forms.CharField(max_length=80, required=True)
    email = forms.EmailField(max_length=254, required=True)
    start_date = forms.DateField(input_formats=["%Y-%m-%d", ])
    start_time = forms.TimeField(input_formats=["%H:%M", ])
    end_date = forms.DateField(input_formats=["%Y-%m-%d#", ])
    end_time = forms.TimeField(input_formats=["%H:%M", ])

html表格

    <form class="form-book" action="" method="POST" id="datetimepicker1"> 
        {% csrf_token %}
        <label for="id_name">Name</label>
        <input type="text" name="name" maxlength="80" required_id="id_name" required>
        <label for="id_email">Email</label>
        <input type="email" required_id="id_email" name="email" max_length="254" required>
        <label for="id_start_date">Start Date</label>
        <input type="date" name="start_date" required_id="id_start_date" class="datepicker" required>
        <label for="id_start_time">Start Time</label>
        <input type="time" name="start_time" required_id="id_start_time" class="timepicker" required>
        <label for="id_end_date">End Date</label>
        <input type="date" name="end_date" required_id="id_end_date" class="datepicker" required>
        <label for="id_end_time">End Time</label>
        <input type="time" name="end_time" required_id="id_end_time" class="timepicker" required>
        <button class="btn btn-signup right" type="submit">Book</button>
    </form>

form.is_valid()指的是客户端发送的request.POST中的数据。 您的视图应该重新显示带有错误消息的表单。 您上面的自定义 HTML 不会这样做。 文档在这里。

按照文档,你需要这样的东西

<form class="form-book" action="" method="POST" id="datetimepicker1"> 
    {% csrf_token %}

    {{ form.non_field_errors }}

    <div class="fieldWrapper">
      {{ form.name.errors }}
      <label for="{{ form.name.id_for_label }}">Name:</label>
       {{ form.name }}
    </div>
    ...

{{form.non_field_errors}}很容易被遗忘,并且是不能与任何特定字段相关联的错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM