在提交 Yii2 以外的按钮上禁用 ActiveForm 客户端验证
Disable ActiveForm Clientside Validation on button other than submit Yii2
我有一个上传 excel 到数据库的表格。
它有 1 个 File 输入和 2 个按钮 'Upload' 和 'Delete All '.
问题场景:
我不想在 'Delete All' 上进行客户端活动表单验证,因为此处不需要文件。
代码:
<?php $form = ActiveForm::begin([ 'enableClientValidation' => false,
'options' =>['action' => Url::toRoute('/site/halltickets')
,'method' => 'POST'
, 'enctype'=>'multipart/form-data']]); ?>
<?= $form->field($model, 'file')
->fileInput()->label("Upload Only Excel File [Allowed Formats: xlsx, xls]") ?>
<center>
<?= Html::submitButton('Upload »', ['class' => 'btn btn-warning']) ?>
<?= Html::a('Delete All »',
Url::toRoute(['site/delete-halltickets']),
['class' => 'btn btn-danger',
'data-confirm' => Yii::t('yii', 'Delete all Hall Ticket Allocations?'),
]);?>
</center>
<?php ActiveForm::end(); ?>
为了更好理解,下图。
在上传表单上放置 "Delete All" 按钮不是个好主意。在窗体外插入此按钮。会更加人性化。
此外,您可以从模型中删除 "required" 验证器。或者仅为特定的 scenarios.
定义它
我有一个上传 excel 到数据库的表格。
它有 1 个 File 输入和 2 个按钮 'Upload' 和 'Delete All '.
问题场景:
我不想在 'Delete All' 上进行客户端活动表单验证,因为此处不需要文件。
代码:
<?php $form = ActiveForm::begin([ 'enableClientValidation' => false,
'options' =>['action' => Url::toRoute('/site/halltickets')
,'method' => 'POST'
, 'enctype'=>'multipart/form-data']]); ?>
<?= $form->field($model, 'file')
->fileInput()->label("Upload Only Excel File [Allowed Formats: xlsx, xls]") ?>
<center>
<?= Html::submitButton('Upload »', ['class' => 'btn btn-warning']) ?>
<?= Html::a('Delete All »',
Url::toRoute(['site/delete-halltickets']),
['class' => 'btn btn-danger',
'data-confirm' => Yii::t('yii', 'Delete all Hall Ticket Allocations?'),
]);?>
</center>
<?php ActiveForm::end(); ?>
为了更好理解,下图。
在上传表单上放置 "Delete All" 按钮不是个好主意。在窗体外插入此按钮。会更加人性化。
此外,您可以从模型中删除 "required" 验证器。或者仅为特定的 scenarios.
定义它