validation_list.py
752 Bytes
from .base_validation import BaseValidation
class ValidationList(BaseValidation):
def __init__(self, cldr, params = {}):
super(ValidationList, self).__init__(cldr = cldr, params = params)
self.__value_list = isinstance(self.rulevalue, str) and self.rulevalue.split(',') or list(self.rulevalue)
self.__message = self.rulemessage or ':attribute tidak tersedia.'
def validate(self):
ok = True
if (self.value is None) or (self.value == ''):
ok = not self.required
else:
ok = (str(self.value) in self.__value_list)
if not ok:
self.colander_invalid[self.inputname] = self.__message.replace(':attribute', self.title)
return ok