View source on GitHub |
Limit field based on pre-determined values.
Inherits From: Validator
, expected_type
google.appengine.api.validation.Options(
*options, **kw
)
Options are used to make sure an enumerated set of values are the only one permitted for assignment. It is possible to define aliases which map multiple string values to a single original. An example of usage:
class ZooAnimal(validated.Class):
ATTRIBUTES = {
'name': str,
'kind': Options('platypus', # No aliases
('rhinoceros', ['rhino']), # One alias
('canine', ('dog', 'puppy')), # Two aliases
)
Args | |
---|---|
options
|
List of allowed values. |
Child Classes
Methods
CheckFieldInitialized
CheckFieldInitialized(
value, key, obj
)
Check for missing fields or conflicts between fields.
Default behavior performs a simple None
-check, but this can be overridden.
If the intent is to allow optional fields, then use the Optional
validator
instead.
Args | |
---|---|
value
|
Value to validate. |
key
|
Name of the field being validated. |
obj
|
The object to validate against. |
Raises | |
---|---|
ValidationError
|
When there are missing or conflicting fields. |
GetWarnings
GetWarnings(
value, key, obj
)
Return any warnings on this attribute.
Validates the value with an eye towards things that aren't fatal problems.
Args | |
---|---|
value
|
Value to validate. |
key
|
Name of the field being validated. |
obj
|
The object to validate against. |
Returns | |
---|---|
A list of tuples (context, warning) where
|
ToValue
ToValue(
value
)
Convert value
to a simplified collection or basic type.
Subclasses of Validator
should override this method when the dumped
representation of value
is not a simple <type>(value)
(e.g., a regex).
Args | |
---|---|
value
|
An object of the same type that was returned from Validate() .
|
Returns | |
---|---|
An instance of a builtin type (e.g., int, str, dict, etc). By default
it returns value unmodified.
|
Validate
Validate(
value, key
)
Validate options.
Returns | |
---|---|
Original value for provided alias. |
Raises | |
---|---|
ValidationError
|
When the value is not one of predefined values. |
__call__
__call__(
value, key='???'
)
Main interface to validator is call mechanism.