Skip to content

Commit cd11835

Browse files
committed
feat: render non-field errors block
1 parent bfa6f77 commit cd11835

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

djangosnippets/settings/base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ def user_url(user):
143143
ACCOUNT_DEFAULT_HTTP_PROTOCOL = "https"
144144
ACCOUNT_LOGOUT_ON_GET = True
145145
ACCOUNT_USERNAME_MIN_LENGTH = 3
146+
ACCOUNT_FORMS = {
147+
"login": "django.contrib.auth.forms.AuthenticationForm",
148+
}
146149
SOCIALACCOUNT_ADAPTER = "djangosnippets.adapters.DjangoSnippetsSocialAccountAdapter"
147150
SOCIALACCOUNT_AUTO_SIGNUP = False
148151
SOCIALACCOUNT_LOGIN_ON_GET = True

djangosnippets/templates/account/login.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,21 @@ <h3>Sign In</h3>
1111
{% include "socialaccount/snippets/login_extra.html" %}
1212
<form class="login flex flex-col items-center w-[80%]" method="POST" action="{% url 'account_login' %}">
1313
{% csrf_token %}
14+
{% if form.non_field_errors %}
15+
<ul class="m-0 border-2 rounded-md p-2 border-red-400 text-red-600 font-bold">
16+
{% for error in form.non_field_errors %}<li>{{ error }}</li>{% endfor %}
17+
</ul>
18+
{% endif %}
1419
{% for field in form %}
15-
{% if field.name == 'remember' %}
16-
{% else %}
20+
<div class="w-full my-1">
1721
<div class="flex w-full my-2">
1822
<label class="text-base text-left">{{ field.label }}</label>
1923
<span aria-hidden="true" class="text-4xl text-red-400 h-2 ml-1">*</span>
2024
</div>
21-
{{ field|add_class:"h-12 text-lg rounded-lg border-base-green-400 border-2" }}
22-
{% endif %}
25+
{{ field|add_class:"h-12 text-lg rounded-lg border-base-green-400 border-2 my-2" }}
26+
{% if field.help_text %}<div class="w-full text-left ml-4 font-text">{{ field.help_text|safe }}</div>{% endif %}
27+
{% if field.errors %}<ul class="m-0 w-full ml-4 text-left text-red-600 font-text">{% for error in field.errors %}<li>{{ error }}</li>{% endfor %}</ul>{% endif %}
28+
</div>
2329
{% endfor %}
2430
<button type="submit" class="w-full my-4 h-12 text-lg bg-base-green-600 border-2 rounded-lg border-base-green-800 font-common hover:bg-base-white-400 hover:text-base-green-600">Sign In</button>
2531
</form>

djangosnippets/templates/account/signup.html

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,21 @@ <h3>Sign Up</h3>
1313
{% include "socialaccount/snippets/login_extra.html" %}
1414
<form class="flex flex-col items-center w-[80%]" method="POST" action="{% url 'account_signup' %}">
1515
{% csrf_token %}
16+
{% if form.non_field_errors %}
17+
<ul class="m-0 border-2 rounded-md p-2 border-red-400 text-red-600 font-bold">
18+
{% for error in form.non_field_errors %}<li>{{ error }}</li>{% endfor %}
19+
</ul>
20+
{% endif %}
1621
{% for field in form %}
22+
<div class="w-full my-1">
1723
<div class="flex w-full my-2">
1824
<label class="text-base text-left">{{ field.label }}</label>
1925
<span aria-hidden="true" class="text-4xl text-red-400 h-2 ml-1">*</span>
2026
</div>
21-
{{ field|add_class:"h-12 text-lg rounded-lg border-base-green-400 border-2" }}
27+
{{ field|add_class:"h-12 text-lg rounded-lg border-base-green-400 border-2 my-2" }}
28+
{% if field.help_text %}<div class="w-full text-left ml-4 font-text">{{ field.help_text|safe }}</div>{% endif %}
29+
{% if field.errors %}<ul class="m-0 w-full ml-4 text-left text-red-600 font-text">{% for error in field.errors %}<li>{{ error }}</li>{% endfor %}</ul>{% endif %}
30+
</div>
2231
{% endfor %}
2332
<button type="submit" class="w-full my-4 h-12 text-lg bg-base-green-600 border-2 rounded-lg border-base-green-800 font-common hover:bg-base-white-400 hover:text-base-green-600">Sign Up</button>
2433
</form>

0 commit comments

Comments
 (0)