Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Django Forms Forms Create a Validator

Ovidiu Sîrb
Ovidiu Sîrb
4,771 Points

At Task1,when it is required to raise an error if it is an @teamtreehouse email it passes and at Task2 it doesn't.

"Bummer! Make sure the validator does not allow @teamtreehouse.com email addresses."

myproject/forms.py
from django import forms
import re

def not_treehouse(email):
    email = email.lower()
    re1='@teamtreehouse.com$'
    if re.search(re1,email):
        raise forms.ValidationError('nex')

class LeadShareForm(forms.Form):
    email = forms.EmailField()
    link = forms.URLField()
    honeypot = forms.CharField(widget=forms.HiddenInput, required=False,
                              validators=[ not_treehouse ])

    def clean_honeypot(self):
        honey = self.cleaned_data['honeypot']
        if len(honey):
            raise forms.ValidationError('Bad robot!')
        return honey

1 Answer

Ryan S
Ryan S
27,276 Points

Hi Ovidiu,

Yeah sometimes the error messages aren't that informative. But the reason it is not passing is because the challenge asks you to add the custom validator to the "email" field of LeadShareForm, but you added it to "honeypot".