For some reason DelimitedDigitsPostalCode doesn't implement if_missing. I am wondering if this was done on purpose.
A quick traversal through the classes
- DelimitedDigitsPostalCode subclasses validators.Regex
- Regex subclasses api.FancyValidator
- FancyValidator subclasses api.Validator
FancyValidator sets if_missing to NoDefault, but Regex and DelimitedDigitPostalCode do not override it with anything.
A workaround is to just manually set postal_code_schema_validation_field.if_missing = None in the schema
Thanks to Vsevolod Kulaga for pointing all of this out in https://stackoverflow.com/questions/44387896/formencode-is-ignoring-if-missing/44397189#44397189