def validate(self, data): """Validate incoming data. Args: data (Dict): data to be validated Returns: (Dict): Validated data Raises: (ValidationError): if field inputs are invalid """ handle_invalid_fields(self, data) return data
def validate(self, data): """Validate incoming data to including cost_type. Args: data (Dict): data to be validated Returns: (Dict): Validated data Raises: (ValidationError): if field inputs are invalid """ if not data.get("cost_type"): data["cost_type"] = get_cost_type(self.context.get("request")) handle_invalid_fields(self, data) return data
def validate(self, data): """Validate incoming data. Args: data (Dict): data to be validated Returns: (Dict): Validated data Raises: (ValidationError): if field inputs are invalid """ super().validate(data) handle_invalid_fields(self, data) start_date = data.get("start_date") end_date = data.get("end_date") time_scope_value = data.get("filter", {}).get("time_scope_value") time_scope_units = data.get("filter", {}).get("time_scope_units") if (start_date or end_date) and (time_scope_value or time_scope_units): error = { "error": ( "The parameters [start_date, end_date] may not be ", "used with the filters [time_scope_value, time_scope_units]", ) } raise serializers.ValidationError(error) if (start_date and not end_date) or (end_date and not start_date): error = { "error": "The parameters [start_date, end_date] must both be defined." } raise serializers.ValidationError(error) if start_date and end_date and (start_date > end_date): error = { "error": "start_date must be a date that is before end_date." } raise serializers.ValidationError(error) return data
def validate(self, data): """Validate incoming data. Args: data (Dict): data to be validated Returns: (Dict): Validated data Raises: (ValidationError): if filter inputs are invalid """ handle_invalid_fields(self, data) resolution = data.get("resolution") time_scope_value = data.get("time_scope_value") time_scope_units = data.get("time_scope_units") if time_scope_units and time_scope_value: msg = "Valid values are {} when time_scope_units is {}" if time_scope_units == "day" and time_scope_value in [ "-1", "-2" ]: # noqa: W504 valid_values = ["-10", "-30"] valid_vals = ", ".join(valid_values) error = {"time_scope_value": msg.format(valid_vals, "day")} raise serializers.ValidationError(error) if time_scope_units == "day" and resolution == "monthly": valid_values = ["daily"] valid_vals = ", ".join(valid_values) error = {"resolution": msg.format(valid_vals, "day")} raise serializers.ValidationError(error) if time_scope_units == "month" and time_scope_value in [ "-10", "-30" ]: # noqa: W504 valid_values = ["-1", "-2"] valid_vals = ", ".join(valid_values) error = {"time_scope_value": msg.format(valid_vals, "month")} raise serializers.ValidationError(error) return data
def validate(self, data): """Validate incoming data. Args: data (Dict): data to be validated Returns: (Dict): Validated data Raises: (ValidationError): if filter inputs are invalid """ handle_invalid_fields(self, data) resolution = data.get('resolution') time_scope_value = data.get('time_scope_value') time_scope_units = data.get('time_scope_units') if time_scope_units and time_scope_value: msg = 'Valid values are {} when time_scope_units is {}' if (time_scope_units == 'day' and # noqa: W504 (time_scope_value == '-1' or time_scope_value == '-2')): valid_values = ['-10', '-30'] valid_vals = ', '.join(valid_values) error = {'time_scope_value': msg.format(valid_vals, 'day')} raise serializers.ValidationError(error) if (time_scope_units == 'day' and resolution == 'monthly'): valid_values = ['daily'] valid_vals = ', '.join(valid_values) error = {'resolution': msg.format(valid_vals, 'day')} raise serializers.ValidationError(error) if (time_scope_units == 'month' and # noqa: W504 (time_scope_value == '-10' or time_scope_value == '-30')): valid_values = ['-1', '-2'] valid_vals = ', '.join(valid_values) error = {'time_scope_value': msg.format(valid_vals, 'month')} raise serializers.ValidationError(error) return data
def validate(self, data): """Validate incoming data.""" handle_invalid_fields(self, data) return data