mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Added django.core.validators.isValidHTML
git-svn-id: http://code.djangoproject.com/svn/django/trunk@663 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -157,6 +157,20 @@ def isValidURL(field_data, all_data): | ||||
|     if not url_re.search(field_data): | ||||
|         raise ValidationError, "A valid URL is required." | ||||
|  | ||||
| def isValidHTML(field_data, all_data): | ||||
|     import urllib, urllib2 | ||||
|     try: | ||||
|         u = urllib2.urlopen('http://validator.w3.org/check', urllib.urlencode({'fragment': field_data, 'output': 'xml'})) | ||||
|     except: | ||||
|         # Validator or Internet connection is unavailable. Fail silently. | ||||
|         return | ||||
|     html_is_valid = (u.headers.get('x-w3c-validator-status', 'Invalid') == 'Valid') | ||||
|     if html_is_valid: | ||||
|         return | ||||
|     from xml.dom.minidom import parseString | ||||
|     error_messages = [e.firstChild.wholeText for e in parseString(u.read()).getElementsByTagName('messages')[0].getElementsByTagName('msg')] | ||||
|     raise ValidationError, "Valid HTML is required. Specific errors are:\n%s" % "\n".join(error_messages) | ||||
|  | ||||
| def isWellFormedXml(field_data, all_data): | ||||
|     from xml.dom.minidom import parseString | ||||
|     try: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user