Files
flutter-frame/lib/core/utils/validators.dart
2026-03-01 07:55:59 +09:00

46 lines
1.3 KiB
Dart

abstract final class Validators {
static String? email(String? value) {
if (value == null || value.isEmpty) {
return '이메일을 입력해주세요';
}
final emailRegex = RegExp(
r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$',
);
if (!emailRegex.hasMatch(value)) {
return '올바른 이메일 형식이 아닙니다';
}
return null;
}
static String? password(String? value) {
if (value == null || value.isEmpty) {
return '비밀번호를 입력해주세요';
}
if (value.length < 8) {
return '비밀번호는 8자 이상이어야 합니다';
}
return null;
}
static String? required(String? value, [String? fieldName]) {
if (value == null || value.trim().isEmpty) {
return '${fieldName ?? '이 필드'}를 입력해주세요';
}
return null;
}
static String? minLength(String? value, int min, [String? fieldName]) {
if (value == null || value.length < min) {
return '${fieldName ?? '이 필드'}$min자 이상이어야 합니다';
}
return null;
}
static String? maxLength(String? value, int max, [String? fieldName]) {
if (value != null && value.length > max) {
return '${fieldName ?? '이 필드'}$max자 이하여야 합니다';
}
return null;
}
}