2017-02-24 131 views
1
  1. 我有一个上传excel到数据库表单。禁用提交按钮以外的ActiveForm客户端验证Yii2

  2. 它有1个文件输入和2个按钮 '上传' 和 '删除所有'。

问题场景:

我不希望在“全部删除”,因为此处需要文件的客户端的ActiveForm验证。

代码:

<?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 &raquo;', ['class' => 'btn btn-warning']) ?> 
    <?= Html::a('Delete All &raquo;', 
     Url::toRoute(['site/delete-halltickets']), 
     ['class' => 'btn btn-danger', 
      'data-confirm' => Yii::t('yii', 'Delete all Hall Ticket Allocations?'), 
     ]);?> 
</center> 
<?php ActiveForm::end(); ?> 

更好地理解,以下是图像。

enter image description here

+0

我不明白你的界面。什么是“全部删除”按钮?按下此按钮时会发生什么问题? – IStranger

+2

为什么不把按钮/链接移出周围的窗体? – particleflux

+0

@IStranger:全部删除按钮提交表格并删除所有相关的门票。 –

回答

0

这是坏主意,将“全部删除”上传表单按钮。将此按钮插入表单外部。它会更加用户友好。

此外,您可以从模型中删除“必需的”验证程序。或者只为特定的scenarios定义它。