-class UserRegisterForm(forms.ModelForm):
-# DEPRECATED # def __init__(self, *args, **kwargs):
-# DEPRECATED # self.helper = FormHelper()
-# DEPRECATED # self.helper.form_tag = False
-# DEPRECATED # #self.helper.form_id = 'id-exampleForm'
-# DEPRECATED # self.helper.form_class = 'blueForms'
-# DEPRECATED # self.helper.form_method = 'post'
-# DEPRECATED # #self.helper.form_action = 'submit_survey'
-# DEPRECATED # self.helper.add_input(Submit('submit', 'Submit'))
-# DEPRECATED # super(RegisterUserForm, self).__init__(*args, **kwargs)
-
- first_name = forms.CharField( widget=forms.TextInput )
- last_name = forms.CharField( widget=forms.TextInput )
- email = forms.CharField( widget=forms.TextInput )
- password = forms.CharField( widget=forms.PasswordInput )
- password2 = forms.CharField( widget=forms.PasswordInput )
+class UserRegisterForm(forms.Form): # Not ModelForm
+ """
+ Form for registering a new user account.
+
+ Validates that the requested username is not already in use, and
+ requires the password to be entered twice to catch typos.
+
+ Subclasses should feel free to add any additional validation they
+ need, but should avoid defining a ``save()`` method -- the actual
+ saving of collected user data is delegated to the active
+ registration backend.
+
+ """
+ required_css_class = 'required'
+
+ first_name = forms.RegexField(regex=r'^[\w.@+-]+$',
+ max_length=30,
+ label=_("First name"),
+ error_messages={'invalid': _("This value may contain only letters, numbers and @/./+/-/_ characters.")})
+ last_name = forms.RegexField(regex=r'^[\w.@+-]+$',
+ max_length=30,
+ label=_("Last name"),
+ error_messages={'invalid': _("This value may contain only letters, numbers and @/./+/-/_ characters.")})
+ affiliation = forms.RegexField(regex=r'^[\w.@+-]+$',
+ max_length=30,
+ label=_("Affiliation"),
+ error_messages={'invalid': _("This value may contain only letters, numbers and @/./+/-/_ characters.")})
+
+ email = forms.EmailField(label=_("E-mail"))
+ password1 = forms.CharField(widget=forms.PasswordInput,
+ label=_("Password"))
+ password2 = forms.CharField(widget=forms.PasswordInput,
+ label=_("Password (again)"))