How To Put Bootstrap Tooltip On Textbox If Validation Fails For That Textbox?
I want to Perform Validation on textbox if there is no value(empty). I want to display Tooltip on textbox if validation fails. This is my textbox: read up how the validation can be put together because there are various methods; this Tooltip example is taken from here
$("#valForm").validate({
showErrors: function(errorMap, errorList) {
// Clean up any tooltips for valid elements
$.each(this.validElements(), function(index, element) {
var $element = $(element);
$element.data("title", "") // Clear the title - there is no error associated anymore
.removeClass("error")
.tooltip("destroy");
});
// Create new tooltips for invalid elements
$.each(errorList, function(index, error) {
var $element = $(error.element);
$element.tooltip("destroy") // Destroy any pre-existing tooltip so we can repopulate with new tooltip content
.data("title", error.message)
.addClass("error")
.tooltip(); // Create a new tooltip based on the error messsage we just set in the title
});
},
submitHandler: function(form) {
alert("This is a valid form!");
}
});
$('#reset').click(function() {
var validator = $("#valForm").validate();
validator.resetForm();
});
body {
background: rgba(255, 255, 255, 0.45);
}
.wrapper {
padding-top: 75px;
}
#valForm input {
width: 100%;
height: 50px;
padding: 5px 20px;
margin-bottom: 10px;
font-size: 16px;
}
#valForm select {
width: 100%;
padding: 5px 20px;
margin-bottom: 10px;
font-size: 16px;
border: 1px solid #ccc;
height: 50px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
form#valForm {
padding: 10px;
}
#valForm .error {
border: 3px solid #b94a48 !important;
background-color: #fee !important;
}
#valForm label {
display: block;
margin-bottom: 10px;
color: #1c1c1c;
}
#valForm .form-group {
display: inline-block;
}
#valForm .btn-primary {
width: 100%;
height: 50px;
border-radius: 0px;
font-weight: 400;
font-size: 25px;
background: #70CCF4;
border-color: #fff;
margin-bottom: 15px;
}
#valForm .btn-clear {
width: 100%;
height: 50px;
border-radius: 0px;
font-weight: 400;
font-size: 25px;
background: #C91B08;
border-color: #fff;
color: #fff;
margin-bottom: 15px;
}
#valForm .tooltip > .tooltip-inner {
background-color: #f00;
}
#valForm .tooltip > .tooltip-arrow {
border-top-color: #f00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<div class="wrapper">
<div class="container">
<form id="valForm" name="valForm">
<div class="row">
<div class="col-md-6">
<input data-msg-date="A NAME is Required." data-msg-required="The NAME field is required." data-rule-text="true" data-rule-required="true" id="textField" name="textField" type="text" value="" />
<label for="textField">A NAME is required.</label>
</div>
<div class="col-md-6">
<input data-msg-email="A Valid EMAIL is Required." data-msg-minlength="." data-msg-required="A Valid EMAIL is Required.." data-rule-email="true" data-rule-minlength="5" data-rule-required="true" id="emailField" name="emailField" type="text" value="" />
<label for="emailField">A Valid EMail is Required.</label>
</div>
</div>
<div class="row">
<div class="col-md-6">
<input data-msg-number="A NUMBER from 1-20 is Required." data-msg-range="A NUMBER from 1-20 is Required." data-rule-number="true" data-rule-range="[1,20]" id="numberField" name="numberField" type="text" value="0" />
<label for="numberField">A Number between 1 and 20 is Required.</label>
</div>
<div class="col-md-6">
<select data-msg-required="One SELECTION is Required." data-rule-required="true" id="selectFIELD" name="selectFIELD">
<option value="">Select Something</option>
<option value="Yes">Option 1</option>
<option value="No">Option 2</option>
<option value="Maybe">Option 3</option>
</select>
<label for="selectFIELD">One Option is Required.</label>
</div>
</div>
<div class="row">
<div class="col-md-6">
<button type="submit" class="btn btn-primary">Validate</button>
</div>
<div class="col-md-6">
<input class="btn btn-clear" type="reset" id="reset" onClick="CommentForm.reset();" value="Clear Form" readonly>
</div>
</div>
</form>
</div>
</div>
Solution 2:
at first you should include the Bootstrap Tooltip plugin to call the tooltip().
there is a direct plugin available for bootstrap,try with this Bootstrap Validation Tooltip.
Post a Comment for "How To Put Bootstrap Tooltip On Textbox If Validation Fails For That Textbox?"