A tool for checking dict-list-based object.
API | Description |
---|---|
verify() |
Check the object and throw Exceptions when invalid |
check() |
Check the object and return check result. |
isValid() |
Check the object and return true /false for result |
from objectchecker import ObjectChecker
obj = {
"users": [
{
"name": "a@a.com",
"additional": {
"age" : 20,
"height": 180,
"score" : [80, 90, 100]
}
},
{
"name": "123@b.com"
},
{
"name": "123@a.com",
"additional": {
"age" : 100,
"height": 200,
"score" : [60, 70, 80, 90]
}
}
]
}
opt = {
"users": {
"$maxLength": 5,
"$": {
"name": {
"$isEmail": True,
"$minLength": 6,
"$maxLength": 10
},
"additional": {
"$isOptional": True,
"age": {
"$minValue": 20,
"$maxValue": 100
},
"height": {
"$minValue": 100,
"$maxValue": 200
},
"score": {
"$minLength": 3,
"$": {
"$minValue": 60,
"$maxValue": 100
}
}
}
}
}
}
if (not ObjectChecker.is_valid(obj, opt)):
print 'Error'
- $type:
- Assert the type of value.
- $skip:
- Do not check this field.
- $:
- Iterate all elements in array.
- $isOptional: true
- Can be
undefined
. (WhendefaultRequired
=== true)
- Can be
- $optional: true
- Alias to
$isOptional
- Alias to
- $isRequired: true
- Can be
undefined
. (WhendefaultRequired
=== true)
- Can be
- $required: true
- Alias to
$isRequired
- Alias to
- $allowNull: true
- Can be
null
.
- Can be
- $assertTrue:
assertFunction
assertFunction(value)
should returntrue
.
- $assertFalse:
assertFunction
assertFunction(value)
should returnfalse
.
- $notEmptyString: true
- Should be
''
.
- Should be
- $isInteger: ture
- Should be an integer.
- $isPositiveZeroInteger: Renamed to
$isPositiveIntegerOrZero
- $isPositiveIntegerOrZero: true
- Should be an positive integer or
0
.
- Should be an positive integer or
- $isPositiveInteger: ture
- Should be an positive integer.
- $isNegativeZeroInteger: Renamed to
$isNegativeIntegerOrZero
- $isNegativeIntegerOrZero: ture
- Should be an negative integer or
0
.
- Should be an negative integer or
- $isNegativeInteger: true
- Should be an negative integer.
- $minValue:
option
- Min value should be
option
.
- Min value should be
- $maxValue:
option
- Max value should be
option
.
- Max value should be
- $isValue:
option
- Should be
option
- Should be
- $in: [
option1
,option2
, ...]- Value should be in the array.
- $notIn: [
option1
,option2
, ...]- Value should not be in the array.
- $minLength
- Min length of value should be
option
.
- Min length of value should be
- $maxLength
- Max length of value should be
option
.
- Max length of value should be
- $isLength:
option
- Length of value should be
option
.
- Length of value should be
- $isEmail: true
- Should be email.
- $matchRegExp:
RegExp
.- Should match
RegExp
.
- Should match
- $notMatchRegExp:
RegExp
.- Should not match
RegExp
.
- Should not match
python test/test.py