Skip to content

Validating a string contains only emojis

import 'package:luthor/luthor.dart';
void main() {
final validator = l.string().emoji();
print(validator.validateValue('👍'));
}
import 'package:luthor/luthor.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'emoji.freezed.dart';
part 'emoji.g.dart';
@luthor
@freezed
abstract class EmojiSchema with _$EmojiSchema {
const factory EmojiSchema({
@isEmoji /* OR @IsEmoji() */ required String value,
}) = _EmojiSchema;
factory EmojiSchema.fromJson(Map<String, dynamic> json) =>
_$EmojiSchemaFromJson(json);
}
void main() {
final result = $EmojiSchemaValidate({'value': '👍'});
switch (result) {
case SchemaValidationSuccess(data: final data):
print('✅ Valid: ${data.value}');
case SchemaValidationError(errors: final errors):
print('❌ Errors: $errors');
}
}