#9933: Problem with FormWizard on last step.
--------------------------------------+-------------------------------------
 Reporter:  patrick91                 |       Owner:  nobody    
   Status:  new                       |   Milestone:            
Component:  django.contrib.formtools  |     Version:  1.0       
 Keywords:                            |       Stage:  Unreviewed
Has_patch:  0                         |  
--------------------------------------+-------------------------------------
 Hi, I'm trying FormWizard but when I submit the last form I get this
 error:
 {{{
 ValidationError at /riparazioni/nuovo/
 [u'Questo campo \xe8 obbligatorio.']
 }}}
 Instead of the page with the form and the errors visualized.
 I get this error when the form is badly compiled and when is correctly
 compiled.
 This is the form wizard:

 {{{
 #!python
 class NewWorkSheetWizard(FormWizard):
     def done(self, request, forms):
         print forms

         return HttpResponse('ok')
 }}}
 this is the urlconf:
 {{{
 #!python
 urlpatterns = patterns('',
     url(r'^nuovo/$', NewWorkSheetWizard([NewCustomerForm,
 NewCustomerForm]),
 name='add_new_worksheet_wizard'),
 )
 }}}
 I'm using the same form just for test

 This is the form:
 {{{
 #!python
 class NewCustomerForm(forms.Form):
     first_name = forms.CharField(label=_('Nome'), max_length=30)
     last_name = forms.CharField(label=_('Cognome'), max_length=30)
     address = AddressField(label=_('Indirizzo'))

     email = forms.EmailField(label=_('E-mail'), required=False)
     fiscal_code = forms.CharField(label=_('Codice fiscale'),
                                                  max_length=16,
 required=False)
     vat_number = forms.CharField(label=_('Partita iva'),
                                                  max_length=11,
 required=False)
     telephone_number = forms.CharField(label=_('Numero di telefono'),
 max_length=11)
     fax_number = forms.CharField(label=_('Numero di fax'),
                                                  max_length=11,
 required=False)
     mobile_number = forms.CharField(label=_('Numero di cellulare'),
                                                  max_length=11,
 required=False)
     group = forms.ChoiceField(label=_('Gruppo'), choices=GROUPS)

     def create_username(self):
         n = self.cleaned_data.get('first_name').lower().replace("'", "")
         n = n.replace(' ', '_')
         s = self.cleaned_data.get('last_name').lower().replace("'", "")
         s = s.replace(' ', '_')

         i = 1

         nick_name = '%s_%s' % (n, s)

         while 1:
             try:
                 user = User.objects.get(username=nick_name)
             except User.DoesNotExist:
                 return nick_name

             nick_name = '%s%d' % (nick_name, i)
             i += 1

     def clean_fiscal_code(self):
         fiscal_code = self.cleaned_data.get('fiscal_code')

         if not fiscal_code:
             return ''

         regex = "[a-z]{6}\d{2}[abcdehlmprst]\d{2}[a-z]\d{3}[a-z]"
         pattern = re.compile(regex, re.I)

         if re.match(pattern, fiscal_code):
             return fiscal_code
         raise forms.ValidationError(_('Non sembra essere un codice
 fiscale'))

     def clean_vat_number(self):
         vat_number= self.cleaned_data.get('vat_number')

         if not vat_number:
             return ''

         if len(vat_number) != 11:
             raise forms.ValidationError(_('''La partita iva deve essere di
                                                               11
 caratteri'''))
         return vat_number
 }}}

 Thanks for any reply!

-- 
Ticket URL: <http://code.djangoproject.com/ticket/9933>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to