禁用除提交Yii2之外的按钮上的ActiveForm Clientside验证

时间:2017-02-24 10:41:49

标签: yii2 yii2-advanced-app yii2-model yii2-validation

  1. 我有一个上传excel到DB表格。

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

  3. 问题情景:

    我不想在“全部删除”上进行客户端活动表格验证,因为这里不需要文件。

    代码:

    <?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

1 个答案:

答案 0 :(得分:0)

放置&#34;全部删除&#34;是个坏主意。上传表单上的按钮。在表单外插入此按钮。它会更加用户友好。

此外,您可以删除&#34; required&#34;来自模型的验证器。或者仅为特定的scenarios定义它。