formvalidation
Version:
The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
214 lines (201 loc) • 11.2 kB
HTML
<html>
<head>
<title>FormValidation demo</title>
<link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="../dist/css/formValidation.css"/>
<script type="text/javascript" src="../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../dist/js/formValidation.js"></script>
<script type="text/javascript" src="../dist/js/framework/bootstrap.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<!-- form: -->
<section>
<div class="col-lg-8 col-lg-offset-2">
<div class="page-header">
<h2>Checkout</h2>
</div>
<form id="checkoutForm" method="post" class="form-horizontal" action="target.php">
<div class="form-group">
<label class="col-lg-3 control-label">Shipping address</label>
<div class="col-lg-5">
<div class="radio">
<label>
<input type="radio" name="shipping_to" value="current" checked /> Same as my account address
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="shipping_to" value="new" /> New address
</label>
</div>
</div>
</div>
<div id="newAddress">
<div class="form-group">
<label class="col-lg-3 control-label">Country</label>
<div class="col-lg-5">
<select name="country" class="form-control" disabled>
<option value="">Select a country</option>
<option value="AU">Australia</option>
<option value="CA">Canada</option>
<option value="FR">France</option>
<option value="DE">Germany</option>
<option value="IT">Italy</option>
<option value="JP">Japan</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="VN">Viet Nam</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">Street</label>
<div class="col-lg-5">
<input type="text" class="form-control" name="street" disabled />
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">City</label>
<div class="col-lg-5">
<input type="text" class="form-control" name="city" disabled />
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">State</label>
<div class="col-lg-5">
<select name="state" class="form-control" disabled>
<option value="">Select a state</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
<span class="help-block"><small>Required if you choose United States country</small></span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<button type="submit" class="btn btn-primary">Checkout</button>
</div>
</div>
</form>
</div>
</section>
<!-- :form -->
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#checkoutForm').formValidation({
message: 'This value is not valid',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
street: {
enabled: false,
validators: {
notEmpty: {
message: 'The street is required and cannot be empty'
}
}
},
city: {
enabled: false,
validators: {
notEmpty: {
message: 'The city is required and cannot be empty'
}
}
},
country: {
enabled: false,
validators: {
notEmpty: {
message: 'The country is required and cannot be empty'
}
}
},
state: {
enabled: false,
validators: {
notEmpty: {
message: 'The state is required and cannot be empty'
}
}
}
}
});
// Enable street/city/country validators if user want to ship to other address
$('input[name="shipping_to"]').on('change', function() {
var formValidation = $('#checkoutForm').data('formValidation'),
shipNewAddress = ($(this).val() == 'new');
shipNewAddress ? $('#newAddress').find('.form-control').removeAttr('disabled')
: $('#newAddress').find('.form-control').attr('disabled', 'disabled');
formValidation.enableFieldValidators('street', shipNewAddress)
.enableFieldValidators('city', shipNewAddress)
.enableFieldValidators('country', shipNewAddress)
.enableFieldValidators('state', shipNewAddress && $('select[name="country"]').val() == 'US');
});
$('select[name="country"]').on('change', function() {
var formValidation = $('#checkoutForm').data('formValidation');
formValidation.enableFieldValidators('state', $(this).val() == 'US');
});
});
</script>
</body>
</html>