import 'package:formz/formz.dart';

enum TransactionDateValidationError {
  empty('Date empty'),
  invalid('Date invalid');

  final String message;
  const TransactionDateValidationError(this.message);
}

class TransactionDate extends FormzInput<DateTime?, TransactionDateValidationError> {
  const TransactionDate.pure() : super.pure(null);
  const TransactionDate.dirty([super.value]) : super.dirty();

  @override
  TransactionDateValidationError? validator(DateTime? value) {
    return value == null ? TransactionDateValidationError.empty : null;
  }
}