validateRuntimeWithContext method
- @override
- @protected
- Object? value,
- SchemaContext context
override
Validates that value is a valid runtime value for this schema.
This is the single source of truth for runtime invariants. Subclasses MUST implement it; codecs call it on their output to validate decoded / pre-encode runtime values, and encodeWithContext uses it as a precondition.
Implementation
@override
@protected
SchemaResult<String> validateRuntimeWithContext(
Object? value,
SchemaContext context,
) {
final nullResult = handleNullInput(value, context);
if (nullResult != null) return nullResult;
if (value is! String) {
return SchemaResult.fail(
_buildTypeMismatch(
expectedType: schemaType,
actualValue: value,
context: context,
),
);
}
return applyConstraintsAndRefinements(value, context);
}