0

Django コメントの入力形式が正しいかどうかを確認する方法はありますか? 具体的には、入力された電子メールの形式が @thisuniversity.edu? であることを確認したいです。コメントはすべて大学関係者からのものにしたいので、これをチェックする方法になります。

特定の機能を含めるために、comments/form.html ファイルのコードを上書きしました。

具体的なファイルは次のとおりです。

{% load comments i18n %}
<form action="{% comment_form_target %}" method="post">{% csrf_token %}
  {% if next %}<div><input type="hidden" name="next" value="{{ next }}" /></div>{% endif %}
  {% for field in form %}
    {% if field.is_hidden %}
      <div>{{ field }}</div>
    {% else %}
      {% if field.errors %}{{ field.errors }}{% endif %}
      <p
        {% if field.errors %} class="error"{% endif %}
        {% ifequal field.name "honeypot" %} style="display:none;"{% endifequal %}>
        {% if field.name != "url" and field.name != "email" and field.name != "name" %}
        {{ field.label_tag }} {{ field }}
        {% elif field.name = "email" %}
        <b>Enter your university email address.</b><br><br>
        {{ field.label_tag }} {{ field }} 
        {% elif field.name = "name" %}
        {{ field.label_tag }} {{ field }} 
        {% endif %}
      </p>
    {% endif %}
  {% endfor %}
  <p class="submit">
    <input type="submit" name="post" class="submit-post" value="{% trans "Post" %}" />
  </p>
</form>

ありがとう。

4

1 に答える 1

0

フォームが送信されたら、メール フィールドを消去します。ドキュメントを参照してください

サンプルコード:

class SomeForm(forms.Form):
    # Everything as before.

    def clean_email(self):
        email = self.cleaned_data.get('email', '')

        if email.endswith('@something.com'):
            return email

        raise forms.ValidationError('Provide an Something.com email address')
于 2013-05-12T16:04:31.963 に答える