Changeset 671
- Timestamp:
- 09/22/05 21:02:15 (3 years ago)
- Files:
-
- django/trunk/django/core/formfields.py (modified) (1 diff)
- django/trunk/django/core/validators.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/formfields.py
r637 r671 688 688 689 689 class IPAddressField(TextField): 690 def __init__(self, field_name, length=15, maxlength=15, is_required=False, validator_list=[]): 691 validator_list = [self.isValidIPAddress] + validator_list 692 TextField.__init__(self, field_name, length=length, maxlength=maxlength, 693 is_required=is_required, validator_list=validator_list) 694 695 def isValidIPAddress(self, field_data, all_data): 696 try: 697 validators.isValidIPAddress4(field_data, all_data) 698 except validators.ValidationError, e: 699 raise validators.CriticalValidationError, e.messages 700 690 701 def html2python(data): 691 702 return data or None django/trunk/django/core/validators.py
r663 r671 20 20 email_re = re.compile(r'^[-\w.+]+@\w[\w.-]+$') 21 21 integer_re = re.compile(r'^-?\d+$') 22 ip4_re = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$') 22 23 phone_re = re.compile(r'^[A-PR-Y0-9]{3}-[A-PR-Y0-9]{3}-[A-PR-Y0-9]{4}$', re.IGNORECASE) 23 24 url_re = re.compile(r'^http://\S+$') … … 85 86 except ValidationError: 86 87 raise ValidationError, "Enter valid e-mail addresses separated by commas." 88 89 def isValidIPAddress4(field_data, all_data): 90 if ip4_re.search(field_data): 91 valid_parts = [el for el in field_data.split('.') if 0 <= int(el) <= 255] 92 if len(valid_parts) == 4: 93 return 94 raise validators.ValidationError, "Please enter a valid IP address." 87 95 88 96 def isNotEmpty(field_data, all_data):
