isBoolString function
- String? message,
Validates that the String can be parsed as a bool ('true' or 'false', case insensitive)
Usage Examples:
final boolStringValidator = isBoolString();
boolStringValidator.validate("true"); // Valid
boolStringValidator.validate("false"); // Valid
boolStringValidator.validate("TRUE"); // Valid (case insensitive)
boolStringValidator.validate("yes"); // Invalid
boolStringValidator.validate("1"); // Invalid
// Combined with trimming
final configValidator = eskema({
'enabled': all([$isString, isBoolString()]),
'debug': all([$isString, isBoolString()]),
});
Implementation
IValidator isBoolString({String? message}) =>
isType<String>() &
validator(
(value) {
final lower = value.toLowerCase().trim();
return lower == 'true' || lower == 'false';
},
(value) => Expectation(
message: message ?? 'a valid formatted boolean String',
value: value,
code: ExpectationCodes.valueFormatInvalid,
data: {'format': 'bool'},
),
);