Repository navigation
Expand file tree
/
Copy pathvalidators.js
More file actions
65 lines (61 loc) · 1.72 KB
/
Copy pathvalidators.js
File metadata and controls
65 lines (61 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Bootstrap 4 style error customizations
$.validator.setDefaults({
highlight: function(element){
$(element).closest('.form-group').addClass('has-danger');
$(element).addClass('form-control-danger');
},
unhighlight: function(element){
$(element).closest('.form-group').removeClass('has-danger');
$(element).removeClass('form-control-danger');
},
errorElement: 'small',
errorClass: 'text-muted'
});
// Validate Card Number
$.validator.addMethod("validCardNumber", function(value, element){
return this.optional(element) || $.payment.validateCardNumber(value);
}, "You must enter a valid card number");
// Validate Exp Date
$.validator.addMethod("validExpDate", function(value, element){
var expObj = $.payment.cardExpiryVal(value);
var isValid = $.payment.validateCardExpiry(expObj.month, expObj.year);
return this.optional(element) || isValid
}, "You must enter a valid expiration date");
// Validate Card CVC
$.validator.addMethod("validCardCVC", function(value, element){
return this.optional(element) || $.payment.validateCardCVC(value);
}, "You must enter a valid CV code");
// Form Validator Example
$('#sub-form').validate({
rules: {
card_number: {
required: true,
validCardNumber: true
},
card_name: {
required: true
},
card_exp: {
required: true,
validExpDate: true
},
card_cvc: {
required: true,
validCardCVC: true
}
},
messages: {
card_number: {
required: "You must enter a card number"
},
card_name: {
required: "You must enter the full name on the card"
},
card_exp: {
required: "You must enter an expiration date"
},
card_cvc: {
required: "You must enter a CV code"
}
}
});