admin管理员组

文章数量:1406951

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:

<input type="text"  id="txtNo1" />
<input type="text"  id="txtNo2" />
<input type="text"  id="txtNo3" />

<input type="button" onclick="return ManipulateValue();">



function ManipulateValue() {
        var isValid = true;
         $('#txtNo1,#txtNo2,#txtNo3').each(function () {
            if ($.trim($(this).val()) == '') {
                isValid = false;
                $(this).css({
                    "border": "1px solid red",
                    "background": "#FFCECE"
                });
                $(this).tooltip('show'); //not working
            }
            else {
                $(this).css({
                    "border": "",
                    "background": ""
                });
                //$(this).tooltip('hide'); //not working
            }
        });
        if (isValid == false) {
            return false;
        }
       //ajax call to my controller method
     return true;
}

I have checked example of bootstrap tooltip and even tried it but it is not working.

So how to use bootstrap tooltip for validation of my textboxes??

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:

<input type="text"  id="txtNo1" />
<input type="text"  id="txtNo2" />
<input type="text"  id="txtNo3" />

<input type="button" onclick="return ManipulateValue();">



function ManipulateValue() {
        var isValid = true;
         $('#txtNo1,#txtNo2,#txtNo3').each(function () {
            if ($.trim($(this).val()) == '') {
                isValid = false;
                $(this).css({
                    "border": "1px solid red",
                    "background": "#FFCECE"
                });
                $(this).tooltip('show'); //not working
            }
            else {
                $(this).css({
                    "border": "",
                    "background": ""
                });
                //$(this).tooltip('hide'); //not working
            }
        });
        if (isValid == false) {
            return false;
        }
       //ajax call to my controller method
     return true;
}

I have checked example of bootstrap tooltip and even tried it but it is not working.

So how to use bootstrap tooltip for validation of my textboxes??

Share asked Jul 2, 2015 at 10:35 I Love StackoverflowI Love Stackoverflow 6,86822 gold badges114 silver badges238 bronze badges 1
  • give us a fiddle for better help.. – Sarath Kumar Commented Jul 2, 2015 at 10:39
Add a ment  | 

2 Answers 2

Reset to default 3

Here's a working example of how to do this with Bootstrap & jQuery but you should also 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./ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare./ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<link href="https://maxcdn.bootstrapcdn./bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<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>

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.

本文标签: javascriptHow to put bootstrap tooltip on textbox if validation fails for that textboxStack Overflow