如何禁用隐藏控件的验证

时间:2013-12-27 07:17:00

标签: javascript jquery html validation twitter-bootstrap

我在我的应用程序中使用bootstrap。

Default.aspx的

<div class="form-horizontal">
  <div id="Control1">
    <div class="control-group">
      <label class="control-label">DropDown Control
      </label>
      <div class="controls">
        <select data-val="true" data-val-required="Field is required" name="">
        <option value="">--Select--</option> 
        <option value=1>Value1</option>
        <option value=2>Value2</option>
        </select>
      </div>
    </div>
  </div>
  <div id="Control2" style="display;none;">
    <div class="control-group">
        <label class="control-label">Textbox Control
        </label>
       <div class="controls">
        <input type="text" id="txtId" data-val="true" data-val-required="Field is required"/>
       </div>
    </div>
  </div>
</div>   
<button id="btnSubmit" class="btn btn-success" onclick="Submit();">
  Submit</button>

<script type="text/javascript">

  $.validator.setDefaults({
    ignore: "hidden"
  });

  function Submit() {
    if (!$('#Form1').valid()) {
      return false;
    }
  }
</script>

这里我只需要验证Control1 div。我不想验证隐藏的div (Control2),但它已经过验证。

我正在使用

js/jquery.validate.min.js
js/uncompressed/jquery.validate.js
js/uncompressed/jquery.validate.unobtrusive.js

请帮帮我。

4 个答案:

答案 0 :(得分:2)

请参阅..

$(formSelector).bootstrapValidator({
excluded: [':disabled', ':hidden', ':not(:visible)'],
feedbackIcons: {
    valid: 'glyphicon glyphicon-ok',
    invalid: 'glyphicon glyphicon-remove',
    validating: 'glyphicon glyphicon-refresh'
},
live: 'enabled',
message: 'This value is not valid',
submitButtons: 'button[type="submit"]',
trigger: null,
fields: ...
});

有关详细信息,请转到Bootstrap Validation Setting

答案 1 :(得分:1)

ignore: ':hidden'为我工作。

$("#myForm").validate({ 
    ignore: ':hidden', 
    submitHandler: function( form ) {
        //To do
    }
});

仅在隐藏字段时忽略必需的验证。 希望这会有所帮助。

答案 2 :(得分:0)

将验证控件的Enabled属性设置为false。

CausesValidation="False"

答案 3 :(得分:0)

你需要这样做: 忽略:'#hidden'为我工作

$("#myform").validate({
    ignore: "#hidden"
  });