validar girl formularios formulario form fields example boton django django-forms

girl - formularios django



Django: ¿Cómo puedo poner un hipervínculo<a> en un error de validación de django desde un método de limpieza de formularios()? (2)

Llame a mark_safe en la cadena del mensaje de error cuando está levantando el ValidationError

Django: ¿Cómo puedo poner un hipervínculo <a> en un error de validación de django desde un método de limpieza de formularios ()? Deseo generar un error de validación y, en el texto de error, un hipervínculo <a href=""></a> que tiene un enlace que ayudaría al usuario a corregir el error. Este es un error de validación que estoy planteando en un método limpio de una forma. ¿Hay alguna manera de marcar el HTML para que el error de validación sea seguro para que salga como HTML?


Puede hacerlo en la definición del campo de formulario sin necesidad de elevar un nivel de formulario ValidationError como sigue:

class RegistrationForm(ModelForm): ... ### Django established methods # form wide cleaning/validation def clean_email(self): """ prevent users from having same emails """ email = self.cleaned_data["email"] try: User.objects.get(email__iexact=email) raise forms.ValidationError( mark_safe((''A user with that email already exists, click this <a href="{0}">Password Reset</a> link'' '' to recover your account.'').format(urlresolvers.reverse(''PasswordResetView''))) ) except User.DoesNotExist: return email ... ### Additional fields location = forms.RegexField(max_length=255, regex=r"^[/w'' -]+, [/w''-]+, [/w''-]+, [/w''-]+$", #ex 1 Mclure St, Kingston, Ontario, Canada help_text="location, ex: Suite 212 - 1 Main St, Toronto, Ontario, Canada", error_messages={ ''invalid'': mark_safe("Input format: <strong>suite - street</strong>, <strong>city</strong>, " "<strong>province/state</strong>, <strong><u>country</u></strong>. Only letters, " "numbers, and ''-'' allowed.")})