Beispiel #1
0
    def validate(self, value):
        if not isinstance(value, dict):
            raise ValidationError("Object is required")

        if not self.inner_serializer(value).validate():
            raise ValidationError(
                "Incorrect value passed to inner field: {}".format(value))

        return self.inner_serializer.Meta.model(**value)
Beispiel #2
0
    def validate(self, value):
        if not isinstance(value, dict):
            raise ValidationError("Object is required")

        inner = self.inner_serializer(value)
        if not inner.validate():
            raise ValidationError({self.fieldname: inner.errors})

        try:
            return self.inner_serializer.Meta.model(**value)
        except:
            return value
Beispiel #3
0
    def run_validate(self, serializer, value):
        """
        :type serializer: flask_restframework.serializer.BaseSerializer

        Should return value which will be passed in BaseValidator.cleaned_data
        """

        if self._read_only:
            raise ValueError("You can't run validation on read only field!")

        if value is None and self._default is not None:
            value = self._default

            # Allow to pass lambdas as default (as is in mongoengine)
            if callable(value):
                value = value()

        if value is None:
            if self._required:
                raise ValidationError("Field is required")
            else:
                return value

        for customVal in self._validators:
            value = customVal(self, value)

        if value is not None:
            value = self.validate(value)

        return value
Beispiel #4
0
    def validate(self, value):
        instance = self.related_model.objects.filter(id=value).first()

        if not instance:
            raise ValidationError("Object with id {} not found".format(value))

        return instance
Beispiel #5
0
    def validate(self, value):
        ids = {str(item.id): item for item in self._documentCls.objects.all()}

        if value not in ids:
            raise ValidationError("Incorrect id: {}".format(value))

        return ids[value]
Beispiel #6
0
 def run_get_data(self):
     if self.request.headers["Content-Type"] == self.HEADER:
         return self.get_data()
     else:
         if self.data_required:
             raise ValidationError(
                 "No data with content-type {} found".format(self.HEADER))
Beispiel #7
0
    def validate(self, value):

        if not isinstance(value, dict):
            raise ValidationError("Dict is required!")

        return value
Beispiel #8
0
    def validate(self, value):
        if not isinstance(value, list):
            raise ValidationError("Array is required")

        return list(map(self.inner_serializer.validate, value))
Beispiel #9
0
 def validate(self, value):
     try:
         return datetime.datetime.strptime(value, self._format).date()
     except:
         raise ValidationError("Incorrect date string for {} format".format(
             self._format))
Beispiel #10
0
 def validate(self, value):
     if value:
         try:
             return decimal.Decimal(value)
         except:
             raise ValidationError('Decimal is required')
Beispiel #11
0
 def validate(self, value):
     try:
         return int(value)
     except:
         raise ValidationError("Integer is required")
Beispiel #12
0
    def validate(self, value):
        if value not in [True, False]:
            raise ValidationError("Boolean is required")

        return value
Beispiel #13
0
    def validate(self, value):
        if self.choices and value not in self.choices:
            raise ValidationError("Value should be one of {}, got {}".format(
                self.choices, value))

        return value
Beispiel #14
0
 def raise_error(self, **context):
     raise ValidationError(self.message.format(**context))