django_sorcery.validators.base module¶
Validators.
-
class
django_sorcery.validators.base.
ValidateCantRemove
(field, message=None, code=None)[source]¶ Bases:
object
Validate that for data cannot be removed for given field.
For example:
class MyModel(db.Model): foo = db.Column(db.String()) validators = [ ValidateCantRemove('foo'), ]
-
code
= 'remove'¶
-
message
= 'Cannot remove existing data.'¶
-
-
class
django_sorcery.validators.base.
ValidateEmptyWhen
(field, predicate, message=None, code=None)[source]¶ Bases:
object
Validator for checking a field is empty when predicate is True.
Useful to conditionally enforce a field is not provided depending on related field
For example:
class MyModel(db.Model): foo = db.Column(db.String()) bar = db.Column(db.String()) validators = [ # do not allow to set bar unless foo is present ValidateEmptyWhen('bar', lambda m: not m.foo), ]
-
allow_empty
= True¶
-
code
= 'empty'¶
-
message
= 'Cannot provide a value to this field.'¶
-
-
class
django_sorcery.validators.base.
ValidateNotEmptyWhen
(field, predicate, message=None, code=None)[source]¶ Bases:
django_sorcery.validators.base.ValidateEmptyWhen
Validator for checking a field is provided when predicate is True.
Useful to conditionally enforce a field is provided depending on related field
For example:
class MyModel(db.Model): foo = db.Column(db.String()) bar = db.Column(db.String()) validators = [ # enforce bar is provided when foo is provided ValidateNotEmptyWhen('bar', lambda m: m.foo), ]
-
allow_empty
= False¶
-
code
= 'not_empty'¶
-
message
= 'This field is required.'¶
-
-
class
django_sorcery.validators.base.
ValidateOnlyOneOf
(fields, required=True, message=None, code=None)[source]¶ Bases:
object
Validate that only one of given fields is provided.
For example:
class MyModel(db.Model): foo = db.Column(db.String()) bar = db.Column(db.String()) validators = [ # enforce only either foo or bar are provided ValidateOnlyOneOf(['foo', 'bar']), ]
-
code
= 'exclusive'¶
-
message
= 'Only one of %(fields)s is allowed.'¶
-
-
class
django_sorcery.validators.base.
ValidateTogetherModelFields
(fields, message=None, code=None)[source]¶ Bases:
object
Validator for checking that multiple model fields are always saved together.
For example:
class MyModel(db.Model): foo = db.Column(db.Integer()) bar = db.Column(db.Integer()) validators = [ ValidateTogetherModelFields(["foo", "bar"]), ]
-
code
= 'required'¶
-
message
= 'All %(fields)s are required.'¶
-
-
class
django_sorcery.validators.base.
ValidateUnique
(session, *args, **kwargs)[source]¶ Bases:
object
Validator for checking uniqueness of arbitrary list of attributes on a model.
For example:
class MyModel(db.Model): foo = db.Column(db.Integer()) bar = db.Column(db.Integer()) name = db.Column(db.Integer()) validators = [ ValidateUnique(db, "name"), # checks for name uniqueness ValidateUnique(db, "foo", "bar"), # checks for foo and bar combination uniqueness ]
-
code
= 'required'¶
-
message
= '%(fields)s must make a unique set.'¶
-
-
class
django_sorcery.validators.base.
ValidateValue
(field, predicate, message=None, code=None)[source]¶ Bases:
object
Validator for checking correctness of a value by using a predicate callable.
Useful when other multiple fields need to be consulted to check if particular field is valid.
For example:
class MyModel(db.Model): foo = db.Column(db.String()) bar = db.Column(db.String()) validators = [ # allow only "bar" value when model.foo == "foo" ValidateValue('bar', lambda m: m.foo != 'foo' or b.bar == 'bar'), ]
-
code
= 'invalid'¶
-
message
= 'Please enter valid value.'¶
-
negated
= False¶
-