Beispiel #1
0
    def is_snowflake(self, value):
        try:
            value = int(value)
        except (TypeError, ValueError):
            msg = self.ERRORS['not_snowflake']
            raise FieldValidationError(msg) from None

        if value.bit_length() > 64:
            msg = self.ERRORS['not_snowflake']
            raise FieldValidationError(msg) from None
Beispiel #2
0
    def validate_min(self, value):
        if self.min is None:
            return

        if value < self.min:
            msg = self.ERRORS['min'].format(value, self.min)
            raise FieldValidationError(msg) from None
Beispiel #3
0
 def validate_required(self, value):
     if value is None:
         if self.required:
             msg = self.ERRORS['required']
             raise FieldValidationError(msg, stop_validation=True) from None
         else:
             raise StopValidation()
Beispiel #4
0
    def validate_max(self, value):
        if self.max is None:
            return

        if value > self.max:
            msg = self.ERRORS['max'].format(value, self.max)
            raise FieldValidationError(msg) from None
Beispiel #5
0
    def validate_max_length(self, value):
        if value is None:
            return

        if self.max_length != -1:
            if len(value) > self.max_length:
                msg = self.ERRORS['max_length'].format(value, self.max_length)
                raise FieldValidationError(msg)
Beispiel #6
0
    def validate(self, value):
        errors = []

        for validator in self.validators:
            try:
                validator(value)
            except FieldValidationError as e:
                errors += e.errors
                if e.stop_validation:
                    break
            except StopValidation:
                break

        if errors:
            raise FieldValidationError(*errors)

        return True
Beispiel #7
0
 def is_integer(self, value):
     try:
         int(value)
     except (TypeError, ValueError):
         msg = self.ERRORS['not_integer']
         raise FieldValidationError(msg, stop_validation=True) from None
Beispiel #8
0
 def validate_choices(self, value):
     if self.choices is not None:
         if value not in self.choices:
             msg = self.ERRORS['choices'].format(self.choices)
             raise FieldValidationError(msg, stop_validation=True) from None
Beispiel #9
0
 def validate_url(self, value):
     if not self.URL_RX.match(value):
         raise FieldValidationError(
             self.MESSAGES['invalid_url'].format(value)) from None
Beispiel #10
0
 def validate_regex(self, value):
     rx = self.rx
     if rx is not None:
         if not rx.match(value):
             msg = self.ERRORS['no_match'].format(value, rx.pattern)
             raise FieldValidationError(msg) from None
Beispiel #11
0
 def validate_length(self, value):
     if self.length != -1:
         if len(value) != self.length:
             msg = self.ERRORS['length'].format(value, self.length)
             raise FieldValidationError(msg)
Beispiel #12
0
 def is_string(self, value):
     if not isinstance(value, str):
         msg = self.ERRORS['not_string'].format(value)
         raise FieldValidationError(msg, stop_validation=True) from None
Beispiel #13
0
 def is_boolean(self, value):
     if not isinstance(value, bool):
         msg = self.ERRORS['not_boolean']
         raise FieldValidationError(msg) from None
Beispiel #14
0
 def not_null(self, value):
     if value == 0:
         raise FieldValidationError('Cooldown cannot be null') from None
Beispiel #15
0
 def validate_subreddit(self, value):
     pattern = r"\A[A-Za-z0-9][A-Za-z0-9_]{2,20}\Z"
     if not re.match(pattern, value):
         msg = self.ERRORS['invalid_subreddit'].format(value)
         raise FieldValidationError(msg) from None
Beispiel #16
0
 def validate_streamer(self, value):
     pattern = r'^[a-z0-9_]{3,25}$'
     if not re.match(pattern, value):
         msg = self.ERRORS['invalid_streamer'].format(value)
         raise FieldValidationError(msg) from None