2017-02-24 128 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定義它。