class email_list_validator(FancyValidator): def __init__(self, *args, **kwargs): FancyValidator.__init__(self, *args, **kwargs) self.email = Email() def _to_python(self, value, state=None): """Validate a comma separated list of email addresses.""" emails = [x.strip() for x in value.split(',')] good_emails = [] messages = [] for addr in emails: try: good_emails.append(self.email.to_python(addr, state)) except Invalid, e: messages.append(str(e)) if messages: raise Invalid("; ".join(messages), value, state) else: return ", ".join(good_emails)