id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 14498,Forms passed to FormWizard.process_step are not guaranteed to have clean validate data,Staś Małolepszy,Luke Plant,"The docs for !FormWizard.process_step at source:trunk/django/contrib/formtools/wizard.py (line 263) read: {{{ Hook for modifying the FormWizard's internal state, given a fully validated Form object. The Form is guaranteed to have clean, valid data. }}} There is however a case in !FormWizard._ _call_ _ when this will not be true. In source:trunk/django/contrib/formtools/wizard.py (line 95), the forms for each previous step are instantiated but they are not validated, which makes them not have the `cleaned_data` property. {{{ for i in range(current_step): form = self.get_form(i, request.POST) if not self._check_security_hash(request.POST.get(""hash_%d"" % i, ''), request, form): return self.render_hash_failure(request, i) self.process_step(request, form, i) }}} A solution would be to call form.is_valid in the above loop, or to edit the docs to account for this particular case.",,closed,contrib.formtools,1.2,,fixed,regression,niels.busch@… stas@…,Accepted,1,0,0,0,0,0