def url_f(value): result = urlparse(value) if not result.scheme: raise ValidationError('No scheme.') if not result.netloc: raise ValidationError('No network location.') return value
def min_length_f(value): if len(value) < min_value: raise ValidationError( 'Value is too short (min length is %d characters).' % min_value) return value
def email_address_f(value): value = value.lower() if not EMAIL_REGEX.match(value) and ( not name or not EMAIL_NAME_REGEX.match(value)): raise ValidationError('Not a valid email address.') return value
def not_in_future_f(value): if is_date(value): now = date.today() else: now = datetime.now(pytz.utc) if value > now: raise ValidationError("Can't be in the future.") return value
def before_f(value): if is_date(value): value_dt = date_to_datetime(value) else: value_dt = value if value_dt > max_dt: raise ValidationError('Value is after %s.' % safe_strftime(max_dt, dt_format)) return value
def postcode_f(value): value = value.upper() value = re.sub('[^A-Z0-9]', '', value) if not POSTCODE_REGEX.match(value): raise ValidationError('Not a valid postcode.') if POSTCODE_BFPO_REGEX.match(value): value = value[:-4] + ' ' + value[-4:] else: value = value[:-3] + ' ' + value[-3:] return value
def max_f(value): if value > max_value: raise ValidationError(message % max_value) return value
def min_f(value): if value < min_value: raise ValidationError(message % min_value) return value
def not_empty_f(value): if value is None or len(value) == 0: raise ValidationError('This field is required.') return value
def required_f(value): if value is None: raise ValidationError('This field is required.') return value
def max_length_f(value): if len(value) > max_value: raise ValidationError( 'Value is too long (max length is %d characters).' % max_value) return value
def in_f(value): if value not in values: raise ValidationError('Not a valid value.') return value