Navrang schrieb: > Now i want one validators in which i want to perform : > > "If any one enters oldpwd then it must be correct and also enter > newpwd also."
Try this:
class MySchema(validators.Schema):
olpwd = validators.All(
validators.UnicodeString(max=40),
ValidPassword)
newpwd = validators.Any(
validators.UnicodeString(min=8, max=40),
validators.Empty,
)
rewpd = validators.UnicodeString(if_empty=None)
chained_validators = [validators.All(
validators.FieldsMatch('newpd', 'repwd'),
validators.RequireIfPresent(required='oldpwd', present='newpwd')
)]
ValidPassword is a custom validator that checks the password against the
database. Example:
class ValidPassword(validators.FancyValidator):
"""Validator to test for validity of password.
Works only if user is already logged in.
"""
messages = {
'invalid': u'The password you supplied is invalid.'
}
def validate_python(self, value, state):
user = identity.current.user
if isinstance(value, dict):
value = value.get('oldpwd')
if not identity.current_provider.validate_password(user,
user.user_name, value):
raise validators.Invalid(
self.message('invalid', state), value, state)
return value
HTH, Chris
signature.asc
Description: OpenPGP digital signature

