ensure custom validation functions are always called, even when the field is undefined; fixes #30