Ember-credit-cards
A credit card utility library and form elements. Influenced by the jquery.payment lib.
Checkout the demo.
Components
- Ember.js v3.4 or above
- Ember CLI v2.13 or above
- Node.js v8 or above
credit-card-form
Full credit card form with validations and formatting.
Attributes:
- number
- name
- month
- year
- cvc
- zipcode
- zipcodeRequired
Events:
- onValidate
Example:
//templates/credit-cards/new.hbs{{ credit-card-formnumber=attrs.numbername=attrs.namemonth=attrs.monthyear=attrs.yearcvc=attrs.cvconValidate=(mut disabled)}}Save
input-credit-card-number
Formats credit card number on entry. Discards non-numeric and extra characters. Parses sets number attribute.
Attributes:
- number
input-credit-card-cvc
Formats cvc number on entry. Discards non-numeric and extra characters. Parses sets cvc attribute.
Attributes:
- cvc
input-credit-card-expiration
Validates and formats expiration date. Discards non-numeric and extra characters. Parses and sets month, year attributes.
Attributes:
- month
- year
input-credit-card-zipcode
Validates and formats zip code. Discards non-numeric and extra characters. Sets zipcode attribute.
Attributes:
- zipcode
Validations
validateNumber(number)
Validates a card number:
- Validates numbers
- Validates Luhn algorithm
- Validates length
Example:
;validations; //=> true
validateCVC(cvc, type)
Validates a card CVC:
- Validates number
- Validates length to 4
Example:
;validations; //=> truevalidations; //=> truevalidations; //=> truevalidations; //=> false
validateExpiration(month, year)
Validates a card expiration date:
- Validates numbers
- Validates in the future
- Supports year shorthand
Example:
;validations; //=> truevalidations; //=> truevalidations; //=> false
validateZipcode(number)
Validates a zip code:
- Validates 5 digit optional + 4 zipcode
Example:
;validations; //=> truevalidations; //=> falsevalidations; //=> truevalidations; //=> truevalidations; //=> false
I18n
Custom Labels
You can provide custom labels for localization.
{{credit-card-formnumber=ccNumbername=ccNamemonth=ccMonthyear=ccYearcvc=ccCvcnumberLabel=(t 'credit-card-form.number')securityCodeLabel=(t 'credit-card-form.security-code')nameOnCardLabel=(t 'credit-card-form.name-on-card')expirationLabel=(t 'credit-card-form.expiration')zipCodeLabel=(t 'credit-card-form.zip-code')on-validate='ccValidate'}}