Skip to content

Validating a string is a valid CUID 2

import 'package:luthor/luthor.dart';
void main() {
final validator = l.string().cuid();
print(validator.validateValue('gnu9eq6nqho8zk0cq4uev49x'));
}
import 'package:luthor/luthor.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'cuid_2.freezed.dart';
part 'cuid_2.g.dart';
@luthor
@freezed
abstract class Cuid2Schema with _$Cuid2Schema {
const factory Cuid2Schema({
@isCuid2 /* OR @IsCuid2() */ required String value,
}) = _Cuid2Schema;
factory Cuid2Schema.fromJson(Map<String, dynamic> json) =>
_$Cuid2SchemaFromJson(json);
}
void main() {
final result = $Cuid2SchemaValidate({'value': 'gnu9eq6nqho8zk0cq4uev49x'});
switch (result) {
case SchemaValidationSuccess(data: final data):
print('✅ Valid: ${data.value}');
case SchemaValidationError(errors: final errors):
print('❌ Errors: $errors');
}
}