项目作者: ufukozdemir1990

项目描述 :
JQuery Card - Bootstrap 4 Checkout Form Validation
高级语言: HTML
项目地址: git://github.com/ufukozdemir1990/jquery-card-bootstrap4-checkout-form.git


JQuery Card - Bootstrap 4 Checkout Form Validation

Demo: http://www.ufukozdemir.website/github/jquery-card-bootstrap4-checkout-form/

Orjinal JQuery Card : https://jessepollak.github.io/card/

Bootstrap Checkout Form: https://getbootstrap.com/docs/4.1/examples/checkout/


Özellikler

  • Kart tipi algılama (Visa – Mastercard vs)
  • Alan doğrulaması (Boşluk – Özel Karakter)
  • Giriş maskelemesi
  • Numara, isim, tarih ve CVC’ye özel yer alan alanlar

Örnek Kart Numarası

Visa: 4111111111111111

Discover: 6011111111111117

MasterCard: 5111111111111118

Maestro: 5018111111111112

JCB: 3511111111111119

American Express: 371111111111114

Diners Club: 38111111111119

Kurulum

Adım 1 (Gerekli dosyaların sayfa içerisine entegre edilmesi)

  1. <!-- HEADER -->
  2. <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  3. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/card/2.4.0/card.css">
  4. <!-- FOOTER -->
  5. <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
  6. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  7. <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
  8. <script src="https://cdnjs.cloudflare.com/ajax/libs/card/2.4.0/jquery.card.min.js"></script>

Adım 2 (Kartın görüneceği alanı ve ödeme verisi giriş alanlarımızı oluşturalım)

  1. <!-- Kartın Gözükeceği Class -->
  2. <div class="card-wrapper"></div>
  3. <!-- Kart Bilgilerinin Doldurulacağı Form -->
  4. <div class="form-container active">
  5. <div class="row">
  6. <div class="col-md-6 mb-3">
  7. <label for="cc-name">Ad Soyad</label>
  8. <input type="text" class="form-control" id="cc-name" placeholder="" maxlength="40" name="name" required>
  9. <small class="text-muted">Kredi kartı üzerinde yazılan ad soyad</small>
  10. <div class="invalid-feedback">Ad Soyad alanı gerekli.</div>
  11. </div>
  12. <div class="col-md-6 mb-3">
  13. <label for="cc-number">Kredi Kartı Numarası</label>
  14. <input type="text" class="form-control" id="cc-number" placeholder="" name="number" required>
  15. <div class="invalid-feedback">Kredi Kartı Numarası alanı gerekli.</div>
  16. </div>
  17. </div>
  18. <div class="row">
  19. <div class="col-md-3 mb-3">
  20. <label for="cc-expiration">Son Kullanım Tarihi</label>
  21. <input type="text" class="form-control" id="cc-expiration" placeholder="" name="expiry" required>
  22. <small class="text-muted">AA/YY şeklinde</small>
  23. <div class="invalid-feedback">Son Kullanım Tarihi alanı gerekli.</div>
  24. </div>
  25. <div class="col-md-3 mb-3">
  26. <label for="cc-cvv">CVV</label>
  27. <input type="text" class="form-control" id="cc-cvv" placeholder="" name="cvc" required>
  28. <small class="text-muted">Kartın arkasındaki kod</small>
  29. <div class="invalid-feedback">CVV alanı gerekli.</div>
  30. </div>
  31. </div>
  32. </div>

Adım 3 (card.js ve bootstrap validation bilgilerini sayfamıza tanımlayalım)

Lütfen Class bilgilerine dikkat ediniz! Kart formunun çalışmasını istediğiniz Class kendiniz belirleyebilirsiniz. Ben burada ana formuma tanımladım.
```javascript
// Card Form
$(‘.needs-validation’).card({
container: ‘.card-wrapper’,
});

// JavaScript Form Validation
(function() {
‘use strict’;

  1. window.addEventListener('load', function() {
  2. // Fetch all the forms we want to apply custom Bootstrap validation styles to
  3. var forms = document.getElementsByClassName('needs-validation');
  4. // Loop over them and prevent submission
  5. var validation = Array.prototype.filter.call(forms, function(form) {
  6. form.addEventListener('submit', function(event) {
  7. if (form.checkValidity() === false) {
  8. event.preventDefault();
  9. event.stopPropagation();
  10. }
  11. form.classList.add('was-validated');
  12. }, false);
  13. });
  14. }, false);

})();
```