|
|
@@ -5,10 +5,20 @@
|
|
|
|
|
|
<link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
|
|
|
<link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>
|
|
|
+ <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.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>
|
|
|
+
|
|
|
+ <style type="text/css">
|
|
|
+ .nav-tabs li.tab-success > a {
|
|
|
+ color: #3c763d;
|
|
|
+ }
|
|
|
+ .nav-tabs li.tab-error > a {
|
|
|
+ color: #a94442;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="container">
|
|
|
@@ -20,8 +30,8 @@
|
|
|
</div>
|
|
|
|
|
|
<ul class="nav nav-tabs">
|
|
|
- <li class="active"><a href="#info-tab" data-toggle="tab">Information</a></li>
|
|
|
- <li><a href="#address-tab" data-toggle="tab">Address</a></li>
|
|
|
+ <li class="active"><a href="#info-tab" data-toggle="tab">Information <i class="fa"></i></a></li>
|
|
|
+ <li><a href="#address-tab" data-toggle="tab">Address <i class="fa"></i></a></li>
|
|
|
</ul>
|
|
|
|
|
|
<form id="accountForm" method="post" class="form-horizontal" action="target.php" style="margin-top: 20px;">
|
|
|
@@ -128,6 +138,41 @@ $(document).ready(function() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ })
|
|
|
+ .on('error.form.bv', function(e) {
|
|
|
+ var $form = $(e.target),
|
|
|
+ validator = $form.data('bootstrapValidator'),
|
|
|
+ $invalidField = validator.getInvalidFields().eq(0),
|
|
|
+ $tabPane = $invalidField.parents('.tab-pane'),
|
|
|
+ tabId = $tabPane.attr('id');
|
|
|
+
|
|
|
+ // Activate the tab containing the invalid field if exists
|
|
|
+ if (tabId) {
|
|
|
+ $('a[href="#' + tabId + '"][data-toggle="tab"]').tab('show');
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .on('status.field.bv', function(e, field, $field, status) {
|
|
|
+ var $form = $(e.target),
|
|
|
+ validator = $form.data('bootstrapValidator'),
|
|
|
+ $tabPane = $field.parents('.tab-pane'),
|
|
|
+ tabId = $tabPane.attr('id');
|
|
|
+ if (tabId) {
|
|
|
+ var $tab = $('a[href="#' + tabId + '"][data-toggle="tab"]').parent();
|
|
|
+
|
|
|
+ // Add custom class to tab containing the field
|
|
|
+ if ($tab) {
|
|
|
+ $tab.removeClass('tab-success').removeClass('tab-error');
|
|
|
+ if (status == validator.STATUS_INVALID) {
|
|
|
+ $tab.addClass('tab-error').find('i').removeClass('fa-check').addClass('fa-times');
|
|
|
+ } else if (status == validator.STATUS_VALID) {
|
|
|
+ var isValidTab = validator.isValidContainer($tabPane);
|
|
|
+ $tab.addClass(isValidTab ? 'tab-success' : 'tab-error')
|
|
|
+ .find('i')
|
|
|
+ .removeClass('fa-check fa-times')
|
|
|
+ .addClass(isValidTab ? 'fa-check' : 'fa-times');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
</script>
|