Ejemplo n.º 1
0
 def clean(self, value):
     if not value:
         if self.required:
             raise forms.ValidationError(ugettext(u"Please enter a valid e-mail address"))
         else:
             return None
     
     # TODO here we have to add some mechanism to handle "firstname lastname <email>" format
     email = value
     if not is_valid_email(email):
         raise forms.ValidationError( ugettext(u'"%(email)s" is not a valid e-mail address') % {'email': email})
     return email
Ejemplo n.º 2
0
    def clean(self, value):
        if not value:
            if self.required:
                raise forms.ValidationError(ugettext(u"Please enter at least one valid e-mail address"))
            else:
                return None
        
        # fist normalize newline characters (windows has '\r\n', unix has '\n')
        # TODO I hope, Mac is like unix!
        recipient_string = re.sub(r'(\r\n|\r|\n)', ',', value)
        # replace all double commas by one comma
        recipient_string = re.sub(r'(,\s,|,\s;|;\s,|;\s;|,,|,;|;,|;;)', ',', recipient_string)
        recipient_list = re.split(r'[,;]', recipient_string)
        recipient_result_list = []
        for recipient in recipient_list:
            (recipient_email, recipient_name) = get_email_and_name(recipient)

            if not is_valid_email(recipient_email):
                raise forms.ValidationError( ugettext(u'"%(email)s" is not a valid e-mail address') % {'email': recipient_email})
            
            recipient_result_list.append((recipient_email, recipient_name))
        return recipient_result_list