UNPKG

react-native-moyasar-sdk

Version:

Official React Native Moyasar SDK - Integrate Credit Cards, Apple Pay, Samsung Pay, and STC Pay with simple interfaces for a seamless payment experience in your React Native app

25 lines (20 loc) 842 B
import { FieldValidator } from './field_validator'; import { ExpiryDateUtil } from '../../helpers/expiry_date_util'; import { getConfiguredLocalizations } from '../../localizations/i18n'; export class CreditCardExpiryValidator extends FieldValidator { constructor() { super(); const { t } = getConfiguredLocalizations(); this.addRule(t('moyasarTranslation:expiryRequired'), (value: string) => { return value.length === 0; }); this.addRule(t('moyasarTranslation:invalidExpiry'), (value: string) => { const expiryDate = ExpiryDateUtil.fromPattern(value); return !(expiryDate?.isValid() ?? false); }); this.addRule(t('moyasarTranslation:expiredCard'), (value: string) => { const expiryDate = ExpiryDateUtil.fromPattern(value); return expiryDate?.isExpired() ?? true; }); } }