Fixed #6160, #9111 -- Consistently apply conditional_escape to form errors and...
Fixed #6160, #9111 -- Consistently apply conditional_escape to form errors and labels when outputing them as HTML.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9365 bcc190cf-cafb-0310-a4f2-bffc1f526a37
...raiseValidationError("Something's wrong with '%s'"%self.cleaned_data['special_name'])
...defclean_special_safe_name(self):
...raiseValidationError(mark_safe("'<b>%s</b>' is a safe string"%self.cleaned_data['special_safe_name']))
>>>f=EscapingForm({'special_name':"Nothing to escape"},auto_id=False)
>>>f=EscapingForm({'special_name':"Nothing to escape",'special_safe_name':"Nothing to escape"},auto_id=False)
>>>printf
<tr><th>Specialname:</th><td><ulclass="errorlist"><li>Something's wrong with 'Nothing to escape'</li></ul><input type="text" name="special_name" value="Nothing to escape" /></td></tr>
>>>f=EscapingForm({'special_name':"Should escape < & > and <script>alert('xss')</script>"},auto_id=False)
<tr><th><em>Special</em>Field:</th><td><ulclass="errorlist"><li>Something's wrong with 'Nothing to escape'</li></ul><input type="text" name="special_name" value="Nothing to escape" /></td></tr>
<tr><th><em>Special</em>Field:</th><td><ulclass="errorlist"><li>'<b>Nothing to escape</b>'isasafestring</li></ul><inputtype="text"name="special_safe_name"value="Nothing to escape"/></td></tr>
>>>f=EscapingForm(
...{'special_name':"Should escape < & > and <script>alert('xss')</script>",
...'special_safe_name':"<i>Do not escape</i>"},auto_id=False)
>>>printf
<tr><th>Specialname:</th><td><ulclass="errorlist"><li>Something's wrong with 'Should escape < & > and <script>alert('xss')</script>'</li></ul><input type="text" name="special_name" value="Should escape < & > and <script>alert('xss')</script>" /></td></tr>
<tr><th><em>Special</em>Field:</th><td><ulclass="errorlist"><li>Something's wrong with 'Should escape < & > and <script>alert('xss')</script>'</li></ul><input type="text" name="special_name" value="Should escape < & > and <script>alert('xss')</script>" /></td></tr>
<tr><th><em>Special</em>Field:</th><td><ulclass="errorlist"><li>'<b><i>Do not escape</i></b>'isasafestring</li></ul><inputtype="text"name="special_safe_name"value="<i>Do not escape</i>"/></td></tr>
"""+ \
r""" # [This concatenation is to keep the string below the jython's 32K limit].