|
|
@@ -0,0 +1,137 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <title>BootstrapValidator demo</title>
|
|
|
+
|
|
|
+ <link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
|
|
|
+ <link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../vendor/jquery/jquery-1.10.2.min.js"></script>
|
|
|
+ <script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
|
|
|
+ <script type="text/javascript" src="../dist/js/bootstrapValidator.js"></script>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+ <div class="container">
|
|
|
+ <div class="row">
|
|
|
+ <section>
|
|
|
+ <div class="col-lg-8 col-lg-offset-2">
|
|
|
+ <div class="page-header">
|
|
|
+ <h2>Credit card information</h2>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <form id="paymentForm" method="post" class="form-horizontal" action="target.php">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-lg-3 control-label">Credit card number</label>
|
|
|
+ <div class="col-lg-5">
|
|
|
+ <input type="text" class="form-control" id="ccNumber" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-lg-3 control-label">Expiration</label>
|
|
|
+ <div class="col-lg-4">
|
|
|
+ <input type="text" class="form-control" placeholder="Month" data-stripe="exp-month" />
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-4">
|
|
|
+ <input type="text" class="form-control" placeholder="Year" data-stripe="exp-year" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-lg-3 control-label">CVV</label>
|
|
|
+ <div class="col-lg-2">
|
|
|
+ <input type="text" class="form-control cvvNumber" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="col-lg-9 col-lg-offset-3">
|
|
|
+ <button type="submit" class="btn btn-primary">Pay</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+<script type="text/javascript">
|
|
|
+$(document).ready(function() {
|
|
|
+ $('#paymentForm').bootstrapValidator({
|
|
|
+ feedbackIcons: {
|
|
|
+ valid: 'glyphicon glyphicon-ok',
|
|
|
+ invalid: 'glyphicon glyphicon-remove',
|
|
|
+ validating: 'glyphicon glyphicon-refresh'
|
|
|
+ },
|
|
|
+ fields: {
|
|
|
+ ccNumber: {
|
|
|
+ selector: '#ccNumber',
|
|
|
+ validators: {
|
|
|
+ notEmpty: {
|
|
|
+ message: 'The credit card number is required'
|
|
|
+ },
|
|
|
+ creditCard: {
|
|
|
+ message: 'The credit card number is not valid'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ expMonth: {
|
|
|
+ selector: '[data-stripe="exp-month"]',
|
|
|
+ validators: {
|
|
|
+ notEmpty: {
|
|
|
+ message: 'The expiration month is required'
|
|
|
+ },
|
|
|
+ digits: {
|
|
|
+ message: 'The expiration month can contain digits only'
|
|
|
+ },
|
|
|
+ callback: {
|
|
|
+ message: 'Expired',
|
|
|
+ callback: function(value, validator) {
|
|
|
+ value = parseInt(value, 10);
|
|
|
+ var currentMonth = new Date().getMonth() + 1;
|
|
|
+ return (value <= 12 && value >= currentMonth);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ expYear: {
|
|
|
+ selector: '[data-stripe="exp-year"]',
|
|
|
+ validators: {
|
|
|
+ notEmpty: {
|
|
|
+ message: 'The expiration year is required'
|
|
|
+ },
|
|
|
+ digits: {
|
|
|
+ message: 'The expiration year can contain digits only'
|
|
|
+ },
|
|
|
+ callback: {
|
|
|
+ message: 'Expired',
|
|
|
+ callback: function(value, validator) {
|
|
|
+ value = parseInt(value, 10);
|
|
|
+ var currentYear = new Date().getFullYear();
|
|
|
+ return (value >= currentYear && value <= currentYear + 100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cvvNumber: {
|
|
|
+ selector: '.cvvNumber',
|
|
|
+ validators: {
|
|
|
+ notEmpty: {
|
|
|
+ message: 'The CVV number is required'
|
|
|
+ },
|
|
|
+ digits: {
|
|
|
+ message: 'The CVV number can contain digits only'
|
|
|
+ },
|
|
|
+ stringLength: {
|
|
|
+ min: 3,
|
|
|
+ max: 4,
|
|
|
+ message: 'Invalid CVV number'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+});
|
|
|
+</script>
|
|
|
+</body>
|
|
|
+</html>
|