def METHOD_NAME(self, proposal):
    """Cap and floor value"""
    value = proposal["value"]
    if value is None:
        return value
    value = self._validate_tz(value)
    if self.min and self.min > value:
        value = max(value, self.min)
    if self.max and self.max < value:
        value = min(value, self.max)
    return value