J'ai créé un formulaire "S'abonner" en utilisant le constructeur de formulaires Wagtail, avec un champ d'e-mail qui est obligatoire, j'ai également créé une balise de modèle pour utiliser ce formulaire à différents endroits sur le site web.
Le problème:
Si l'utilisateur soumet le formulaire avec une adresse e-mail incomplète, je recevrai une erreur de validation (ce qui est attendu). Cependant, si l'utilisateur soumet le formulaire sans fournir d'adresse e-mail, wagtail redirige l'utilisateur vers l'URL du formulaire réel et demande à l'utilisateur de remplir à nouveau le formulaire.
Le comportement souhaité est que si le formulaire est soumis sans adresse e-mail, une erreur de validation doit également être déclenchée, ce qui n'est pas le cas.
Voici le code du modèle de formulaire:
class FormField(AbstractFormField):
page = ParentalKey('SubscribeForm', related_name='form_fields')
class SubscribeForm(AbstractEmailForm):
intro = RichTextField(blank=True)
thank_you_text = RichTextField(blank=True)
content_panels = AbstractEmailForm.content_panels + [
FieldPanel('intro', classname="full"),
InlinePanel('form_fields', label="Form fields"),
FieldPanel('thank_you_text', classname="full"),
MultiFieldPanel([
FieldPanel('to_address', classname="full"),
FieldPanel('from_address', classname="full"),
FieldPanel('subject', classname="full"),
], "Email")
]
Voici le code de la balise de modèle personnalisée:
from django import template
from home.models import *
register = template.Library()
# Subscribe
@register.inclusion_tag('home/subscribe_form.html', takes_context=True)
def vdecristo_subscribe(context):
page = SubscribeForm.objects.get(slug='subscribase')
return {
'request': context['request'],
'page': page,
'form': page.get_form(),
}
Voici le code HTML:
{% load wagtailcore_tags vdecristo_tags %}
Subscribase para mantenerse informado
{% csrf_token %}
Quelqu'un pourrait-il éclaircir ce problème?