validation_confirmed.py
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from .base_validation import BaseValidation
class ValidationConfirmed(BaseValidation):
def __init__(self, cldr, params = {}):
super(ValidationConfirmed, self).__init__(cldr = cldr, params = params)
self.__confirmname = 'confirmation_' + self.inputname
self.__confirmvalue = (self.__confirmname in self.allvalues) and self.allvalues[self.__confirmname] or None
self.__message = self.rulemessage or 'Konfirmasi :attribute tidak sama.'
def validate(self):
ok = (str(self.value) == str(self.__confirmvalue))
if not ok:
self.colander_invalid[self.inputname] = self.__message.replace(':attribute', self.title)
return ok
"""
eg:
def form_validator(form, value):
cldr = colander.Invalid(form, 'Form input harus diisi')
validations = {
'password': {
'rules' : confirmed', # artinya field ini membutuhkan field 'confirmation_password' dan isinya harus sama. persis seperti register
'messages': {
'confirmed' : 'Password tidak sama dengan Konfirmasi Password',
}
},
'confirmation_password': {
'rules' : 'required',
'messages': {
'required' : 'Konfirmasi Password harus diisi',
}
}
}
valid = FormValidator(
cldr = cldr,
inputvalues = value,
validations = validations
)
valid.validate()
"""