Validators may crash if they use a value that has not been type checked
Created by: cburchert
E.g. posting the date "2017-00-00T00:00:00Z" for time_start in an event will give an exception and not return a proper error message.
Validators are run in a bad order. Cerberus iterates over the fields and runs all validators for the current field. This results in the following order of validators:
time_end: _validate_type time_end: _validate_later_than time_start: _validate_type
A wrong type for time_start can crash the _validate_later_than function. A badly formatted date string will result in a string object instead of a datetime object(eves policy for type errors is to keep a string) and should raise a type error. This is hidden by the validator order.
The same problem appears for all other validators using the value of a different field than the one containing the rule.