cake_wallet/lib/core/amount_validator.dart

33 lines
975 B
Dart
Raw Normal View History

2020-06-20 07:10:00 +00:00
import 'package:cake_wallet/core/validator.dart';
import 'package:cake_wallet/generated/i18n.dart';
2021-12-24 12:37:24 +00:00
import 'package:cw_core/wallet_type.dart';
2020-06-20 07:10:00 +00:00
class AmountValidator extends TextValidator {
2022-10-12 17:09:57 +00:00
AmountValidator({required WalletType type, bool isAutovalidate = false})
2020-06-20 07:10:00 +00:00
: super(
errorMessage: S.current.error_text_amount,
pattern: _pattern(type),
isAutovalidate: isAutovalidate,
2020-06-20 07:10:00 +00:00
minLength: 0,
maxLength: 0);
static String _pattern(WalletType type) {
switch (type) {
case WalletType.monero:
2020-08-25 16:32:40 +00:00
return '^([0-9]+([.\,][0-9]{0,12})?|[.\,][0-9]{1,12})\$';
2020-06-20 07:10:00 +00:00
case WalletType.bitcoin:
return '^([0-9]+([.\,][0-9]{0,8})?|[.\,][0-9]{1,8})\$';
2020-06-20 07:10:00 +00:00
default:
return '';
}
}
}
class AllAmountValidator extends TextValidator {
AllAmountValidator() : super(
errorMessage: S.current.error_text_amount,
pattern: S.current.all,
minLength: 0,
maxLength: 0);
}