isBoolString function

IValidator isBoolString({
  1. 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'},
      ),
    );