In meinem Projekt erzeuge ich dynamisch ein HTML-Formular mit jQuery. Hier besteht die Seite aus fünf Registerkarten mit jeweils separaten Schaltflächen für die vorherige und die nächste Schaltfläche. Die Registerkarte wurde mit Bootstrap entworfen. Kann jemand bitte die einfachste Methode vorschlagen, um diese Seite zu validieren. Wenn ich zum Beispiel auf die Schaltfläche "Weiter" auf der ersten Registerkarte klicke, sollten Felder nur in der ersten Registerkarte validiert werden. Bitte helfen Sie mir, dieses Problem zu lösen. Vielen Dank im Voraus.Wie validiert man dynamisch generierte Formular mit Bootstrap Tabs in jquery
Hier ist meine ganze Code:
HTML-Code:
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#name" id="id-name">name</a></li>
<li><a data-toggle="tab" href="#address" id="id-address">address</a></li>
</ul>
<form class="form-horizontal" id="id-fn-employee" method="POST" enctype="multipart/form-data" action="${pageContext.request.contextPath}/employee/saveMe">
<div class="tab-content">
<div id="name" class="tab-pane fade in active" style="height:auto;overflow: hidden;">
<span id ="name1"></span>
<div class="form-group">
<label class="col-sm-3 control-label">First Name<a style="color: red">*</a>
<p style="font-size: 75%;" class="help-block">First Name</p>
</label>
<div class="col-xs-4">
<input type="text" placeholder="First Name" required="true" id="id-firstNmae" name="firstNmae" class="form-control">
<p style="font-size: 75%;" class="help-block"></p>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Last Name<a style="color: red">*</a>
<p style="font-size: 75%;" class="help-block">Last Name</p>
</label>
<div class="col-xs-4">
<input type="text" placeholder="Last Name" required="true" id="id-lastName" name="lastName" class="form-control">
<p style="font-size: 75%;" class="help-block"></p>
</div>
</div>
<ul class="pager">
<li><a href="javascript:void(0);" id="id-cancel">Cancel</a></li>
<li><a href="javascript:showTab('address');" id="id-name-next">Next</a></li>
</ul>
</div>
<div id="address" class="tab-pane fade" style="height:auto;overflow: hidden;">
<span id ="address1"></span>
<div class="form-group">
<label class="col-sm-3 control-label">house name<a style="color: red">*</a>
<p style="font-size: 75%;" class="help-block">house name</p>
</label>
<div class="col-xs-4">
<input type="text" placeholder="house name" required="true" id="id-houseName" name="houseName" class="form-control">
<p style="font-size: 75%;" class="help-block"></p>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Street<a style="color: red">*</a>
<p style="font-size: 75%;" class="help-block">Street</p>
</label>
<div class="col-xs-4">
<input type="text" placeholder="Street" required="true" id="id-street" name="street" class="form-control">
<p style="font-size: 75%;" class="help-block"></p>
</div>
</div>
<ul class="pager">
<li><a href="javascript:showPrevTab('name');" id="id-address-prev">Previous</a></li>
<li><a href="javascript:showTab('age');" id="id-age-next">Next</a></li>
</ul>
</div>
</div>
</form>
JS:
$(document).ready(function(){
var $validator = $("#id-fn-employee").validate({
errorPlacement: function (error, element) {
var placement = $(element).data('error');
if($(element).hasClass('grp')){
error.insertAfter($(element).parent());
}else{
if (placement) {
$(placement).append(error)
} else {
error.insertAfter(element);
}
}
}
});
});
ich die erforderlichen js-Dateien zusammen mit
<script src="${pageContext.request.contextPath}/resources/js/plugins/jquery.validate.min.js"></script>
hier enthalten sind, Wir müssen hinzufügen Der obige Code in js und müssen die ID des Formulars angeben. Diese Validierung funktioniert auf statischen Seiten, konnte jedoch das dynamisch generierte Formular nicht überprüfen.