isIntString function

IValidator isIntString({
  1. String? message,
})

Validates that the String can be parsed as an int (e.g. '123', '-42')

Usage Examples:

final intStringValidator = isIntString();
intStringValidator.validate("123");        // Valid
intStringValidator.validate("-42");        // Valid
intStringValidator.validate("12.5");       // Invalid
intStringValidator.validate("not-a-number"); // Invalid

// Combined with length validation
final idValidator = all([$isString, isIntString(), stringLength([isEq(9)])]);

Implementation

IValidator isIntString({String? message}) =>
    isType<String>() &
    validator(
      (value) => int.tryParse(value.trim()) != null,
      (value) => Expectation(
        message: message ?? 'a valid formatted int String',
        value: value,
        code: ExpectationCodes.valueFormatInvalid,
        data: {'format': 'int'},
      ),
    );