Skip to content

Validating a string matches a regular expression

import 'package:luthor/luthor.dart';
void main() {
final validator = l.string().regex(RegExp(r'^[a-zA-Z0-9]+$'));
print(validator.validateValue('Hello123'));
}
import 'package:luthor/luthor.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'regex.freezed.dart';
part 'regex.g.dart';
@luthor
@freezed
abstract class RegexSchema with _$RegexSchema {
const factory RegexSchema({
@MatchRegex(r'^[a-zA-Z0-9]+$') required String value,
}) = _RegexSchema;
factory RegexSchema.fromJson(Map<String, dynamic> json) =>
_$RegexSchemaFromJson(json);
}
void main() {
final result = $RegexSchemaValidate({'value': 'Hello123'});
switch (result) {
case SchemaValidationSuccess(data: final data):
print('✅ Valid: ${data.value}');
case SchemaValidationError(errors: final errors):
print('❌ Errors: $errors');
}
}