From 98e21c4f1b096fc117a6a0f770bb69ab7c83914d Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 25 Nov 2015 22:21:04 -0500 Subject: validate cc number --- StoneIsland/www/js/lib/nav/CreditCardView.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'StoneIsland/www/js/lib/nav') diff --git a/StoneIsland/www/js/lib/nav/CreditCardView.js b/StoneIsland/www/js/lib/nav/CreditCardView.js index eaab7086..8d805b80 100644 --- a/StoneIsland/www/js/lib/nav/CreditCardView.js +++ b/StoneIsland/www/js/lib/nav/CreditCardView.js @@ -3,13 +3,21 @@ var CreditCardView = View.extend({ template: $("#creditcard_template").html(), + cardOptions: { + accept: ['visa', 'mastercard', 'amex'], + }, + events: { }, initialize: function(opt){ this.parent = opt.parent this.setElement( this.parent.$(".cc") ) - this.parent.$(".cc").html(this.template) + this.$el.html(this.template) + + this.$number = this.$("[name=Number]") + console.log(this.$number) + this.$number.validateCreditCard(this.updateCard.bind(this), this.cardOptions) }, populate: function(data){ @@ -18,15 +26,26 @@ var CreditCardView = View.extend({ this.load_data(data) }, + updateCard: function(card){ + console.log(card) + // card.card_type.name + // card.card_type.valid + }, + validate_presence: { 'Number': 'Please enter your credit card number.', 'CVV': 'Please enter your security code.', }, validate_fields: function(data, errors){ + + var card = this.$number.validateCreditCard(this.cardOptions) + + if (! card.valid) { errors.push([ "Number", "Your card number is invalid." ]) if (! data.ExpirationMonth || data.ExpirationMonth == "NONE") { errors.push([ "ExpirationMonth", "Please enter the expiration month." ]) } if (! data.ExpirationYear || data.ExpirationYear == "NONE") { errors.push([ "ExpirationYear", "Please select the expiration month." ]) } data.UserId = auth.user_id + }, }) -- cgit v1.2.3-70-g09d2