This is a custom field for multiple emails separated by comma. Original code was replaced by code from Django documentation: http://docs.djangoproject.com/en/dev/ref/forms/validation/ (MultiEmailField) so i'm not the author of the code, but just put it here to replace an outdated solution.
Uses code from mksoft comment http://www.djangosnippets.org/snippets/1093/
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from django import forms
from django.forms.fields import email_re
class MultipleEmailsField(forms.Field):
    def clean(self, value):
        """
        Check that the field contains one or more comma-separated emails
        and normalizes the data to a list of the email strings.
        """
        if not value:
            raise forms.ValidationError('Enter at least one e-mail address.')
        emails = value.split(',')
        for email in emails:
            if not email_re.match(email):
                raise forms.ValidationError('%s is not a valid e-mail address.' % email)
        # Always return the cleaned data.
        return emails
 | 
More like this
- Add Toggle Switch Widget to Django Forms by OgliariNatan 1 month, 3 weeks ago
- get_object_or_none by azwdevops 5 months, 2 weeks ago
- Mask sensitive data from logger by agusmakmun 7 months, 1 week ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 9 months ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 1 year, 9 months ago
Comments
Usage:
#
Do you store multiple emails in one database column?
#
No, it's required for user input, when multiple emails can be entered into one form field.
#
spanasik - the solution in the docs is identical but is missing the email_re here
#
Remember that email_re has moved from django.form.fields to django.core.validators
#
Please login first before commenting.