2017-12-09 2 views
0

Ich möchte die Fehlermeldungen Cerberus zurückgeben z. Ich möchte folgendes erreichen:Wie kann ich Fehlermeldungen von Cerberus anpassen?

>>> validator.schema = {'animal': {'forbidden': ['Einhorn']}} 
>>> validator({'animal': 'Einhorn'}) 
False 
>>> validator.errors 
{'animal': ['VERBOTEN!']} # instead of 'unallowed value Einhorn' 

Antwort

1

Sie können einfach eine Unterklasse der Standardfehlerhandler BasicErrorhandler vom cerberus.errors Modul und passen Sie die Nachrichtenvorlagen, wie Sie möchten:

>>> class CustomErrorHandler(errors.BasicErrorHandler): 
...  messages = errors.BasicErrorHandler.messages.copy() 
...  messages[errors.FORBIDDEN_VALUE.code] = 'VERBOTEN!' 
...  
>>> validator = Validator(schema, error_handler=CustomErrorHandler) 
>>> validator({'animal': 'Einhorn'}) 
False 
>>> validator.errors 
{'animal': ['VERBOTEN!']} 

Werfen Sie einen Blick auf die für verfügbare Fehlercodes und Vorlagenvariablen.

Verwandte Themen