185 lines
7.6 KiB
HTML
185 lines
7.6 KiB
HTML
<!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.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">
|
|
<!-- form: -->
|
|
<section>
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<div class="page-header">
|
|
<h2>Customizing errors</h2>
|
|
</div>
|
|
|
|
<form id="defaultForm" method="post" class="form-horizontal" action="target.php">
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Full name</label>
|
|
<div class="col-lg-4">
|
|
<input type="text" class="form-control" name="firstName" placeholder="First name" />
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<input type="text" class="form-control" name="lastName" placeholder="Last name" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Username</label>
|
|
<div class="col-lg-5">
|
|
<input type="text" class="form-control" name="username" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Email address</label>
|
|
<div class="col-lg-5">
|
|
<input type="text" class="form-control" name="email" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Password</label>
|
|
<div class="col-lg-5">
|
|
<input type="password" class="form-control" name="password" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Gender</label>
|
|
<div class="col-lg-5">
|
|
<div class="radio">
|
|
<label>
|
|
<input type="radio" name="gender" value="male" /> Male
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
<input type="radio" name="gender" value="female" /> Female
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
<input type="radio" name="gender" value="other" /> Other
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group hide">
|
|
<div class="col-lg-9 col-lg-offset-3">
|
|
<ul id="errors"></ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="col-lg-9 col-lg-offset-3">
|
|
<button type="submit" class="btn btn-primary">Sign up</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</section>
|
|
<!-- :form -->
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$('#defaultForm')
|
|
.bootstrapValidator({
|
|
message: 'This value is not valid',
|
|
feedbackIcons: {
|
|
valid: 'glyphicon glyphicon-ok',
|
|
invalid: 'glyphicon glyphicon-remove',
|
|
validating: 'glyphicon glyphicon-refresh'
|
|
},
|
|
fields: {
|
|
firstName: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The first name is required and cannot be empty'
|
|
}
|
|
}
|
|
},
|
|
lastName: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The last name is required and cannot be empty'
|
|
}
|
|
}
|
|
},
|
|
username: {
|
|
message: 'The username is not valid',
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The username is required and cannot be empty'
|
|
},
|
|
stringLength: {
|
|
min: 6,
|
|
max: 30,
|
|
message: 'The username must be more than 6 and less than 30 characters long'
|
|
},
|
|
regexp: {
|
|
regexp: /^[a-zA-Z0-9_\.]+$/,
|
|
message: 'The username can only consist of alphabetical, number, dot and underscore'
|
|
},
|
|
different: {
|
|
field: 'password',
|
|
message: 'The username and password cannot be the same as each other'
|
|
}
|
|
}
|
|
},
|
|
email: {
|
|
validators: {
|
|
emailAddress: {
|
|
message: 'The input is not a valid email address'
|
|
}
|
|
}
|
|
},
|
|
password: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The password is required and cannot be empty'
|
|
},
|
|
different: {
|
|
field: 'username',
|
|
message: 'The password cannot be the same as username'
|
|
}
|
|
}
|
|
},
|
|
gender: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The gender is required'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
.on('error.field.bv', function(e, data) {
|
|
var messages = data.bv.getMessages(data.field);
|
|
$('#errors').find('li[data-bv-for="' + data.field + '"]').remove();
|
|
for (var i in messages) {
|
|
$('<li/>').attr('data-bv-for', data.field).html(messages[i]).appendTo('#errors');
|
|
}
|
|
$('#errors').parents('.form-group').removeClass('hide');
|
|
})
|
|
.on('success.field.bv', function(e, data) {
|
|
$('#errors').find('li[data-bv-for="' + data.field + '"]').remove();
|
|
})
|
|
.on('success.form.bv', function(e) {
|
|
$('#errors')
|
|
.html('')
|
|
.parents('.form-group').addClass('hide');
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |