Gewusst wie: deaktivieren der überprüfung auf versteckte Steuerelemente
Ich bin mit bootstrap in meiner Anwendung.
Standard.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>
Hier muss ich überprüfen nur die Control1
div. Ich möchte nicht überprüfen versteckten div (Control2)
, aber es ist immer validiert werden.
Ich bin mit
js/jquery.validate.min.js
js/uncompressed/jquery.validate.js
js/uncompressed/jquery.validate.unobtrusive.js
Bitte helfen Sie mir.
- Entfernen Sie die Klasse und die
data-val-required
Attribute aus, die Sie entfernen möchten die Validierung. - Legen Sie es auf
ignore: "#txtId"
zu ignorieren, Feld, da es nicht wirklich versteckt, wenn ein übergeordnetes element wird nicht angezeigt. - Auch der Standard ist
ignore : ':hidden'
und als jQuery -not()
- Selektor verwendet wird, das sollte auch funktionieren, so einfach entfernen Sie die Regel ignorieren, die Sie bereits haben, sollte auch funktionieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie dies tun:
ignorieren: '#hidden' für mich gearbeitet
Beziehen..
Für Weitere Informationen gehen Sie zu Bootstrap-Validierung Der Einstellung
ignore: ':hidden'
für mich gearbeitet.Diese ignoriert erforderlich Validierung nur, wenn das Feld ausgeblendet wurde.
Hoffe, das hilft.
Legen Sie die Validierung-Steuerung Aktiviert-Eigenschaft auf false.