【发布时间】:2017-06-14 01:21:52
【问题描述】:
我使用Yii2 创建了一个CRUD。
现在我使用bootstrap 添加了multi-tab
http://getbootstrap.com/javascript/#tabs-examples
现在我在required validation 等字段上有一些验证规则。
单击保存按钮时,它会在活动选项卡上显示错误,但如果在非活动选项卡上有任何错误,则不会提交表单。
如果活动选项卡中有任何错误,用户将通过采取适当的措施来纠正它们,但他不会理解其他选项卡上也有任何错误。
所以我想要的是,如果其他选项卡中有任何错误,那么该选项卡将变为活动状态。
如果用户删除活动选项卡上的所有验证错误,然后尝试重新提交表单,那么它将再次移动到包含选项卡的下一个错误。
这是我的表单代码
<?php $form = ActiveForm::begin(); ?>
<div class="nav-tabs-horizontal">
<ul class="nav nav-tabs nav-tabs-line" data-plugin="nav-tabs" role="tablist">
<li class="active" role="presentation"><a data-toggle="tab" href="#user" arria-controls="user" role="tab">User Details</a></li>
<li role="presentation"><a data-toggle="tab" href="#company" aria-controls="company" role="tab">Company Details</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="user" role="tabpanel">
<div class="form-group form-material">`
<?= $form->field($model, 'first_name')->textInput(['placeholder'=>'First Name']); ?>
</div>
<div class="form-group form-material">
<?= $form->field($model, 'last_name')->textInput(['placeholder'=>'Last Name']); ?>
</div>
<div class="form-group form-material">
<?= $form->field($model, 'email')->input('email'); ?>
</div>
<div class="form-group form-material">
<?= $form->field($model, 'password')->passwordInput(['placeholder'=>'Password']);?>
</div>
<div class="form-group form-material">
<?= $form->field($model, 'repeatpassword')->passwordInput(['placeholder'=>'Repeat Password']);?>
</div>
</div>
<div class="tab-pane" id="company" role="tabpanel">
<div class="form-group form-material">
<?= $form->field($company, 'Title')->textInput(['maxlength' => true]); ?>
</div>
<div class="form-group form-material">
<?= $form->field($company, 'Website')->textInput(['maxlength' => true]); ?>
</div>
<div class="form-group form-material">
<?= $form->field($company, 'Description')->textarea(['rows' => 6]); ?>
</div>
<div class="form-group form-material">
<?= $form->field($company, 'Status')->dropDownList(['Active' =>'Active','Deactive'=>'Deactive','Pending'=>'Pending'],['prompt'=>'']) ?>
</div>
</div>
</div>
<?= Html::submitButton("Save", ["class" => "btn btn-success"]); ?>
</div>
<?php ActiveForm::end(); ?>
【问题讨论】:
标签: javascript jquery twitter-bootstrap yii yii2