validation_min.py
1.03 KB
from .base_validation import BaseValidation
class ValidationMin(BaseValidation):
def __init__(self, cldr, params=None):
super(ValidationMin, self).__init__(cldr=cldr, params=params)
if self.rulevalue == '':
raise Exception('VALIDATION MIN ERROR', '"min" value tidak dapat validasi')
vt = self.value_type()
self.__rulevalue = (vt == 'float') and float(self.rulevalue) or int(self.rulevalue)
self.__message = self.rulemessage or 'Value :attribute harus lebih dari sama dengan :min.'
def validate(self):
if (self.value is None) or (self.value == ''):
ok = not self.required
else:
if self.value_type() == 'string':
ok = (len(self.value) >= self.__rulevalue)
else:
ok = (self.value >= self.__rulevalue)
if not ok:
self.colander_invalid[self.inputname] = self.__message.replace(':min', str(self.rulevalue)).replace(':attribute', self.title)
return ok