optional function
- IValidator validator
If the field is not present, it will be considered valid, if present, it executes the validator
.
It's different from nullable in that it also checks for empty strings
Example
final isValid = optional(isString()).isValid(''); // true
final isValid = optional(isString()).isValid(false); // false
final isValid = optional(isString()).isValid(null); // false
final validListField = eskema({
'optional': optional(isString()),
});
validListField.isValid({'optional': 'test'}); // true
validListField.isValid({'optional': ''}); // true
validListField.isValid({'optional ': null}); // false
// If the field is missing from a map, it's considered valid.
validListField.isValid({}); // true
Implementation
IValidator optional(IValidator validator) => validator.optional();