Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2表单验证但未提交以发送电子邮件_Php_Yii_Yii2_Yii2 Advanced App_Yii Form - Fatal编程技术网

Php Yii2表单验证但未提交以发送电子邮件

Php Yii2表单验证但未提交以发送电子邮件,php,yii,yii2,yii2-advanced-app,yii-form,Php,Yii,Yii2,Yii2 Advanced App,Yii Form,我有一个表单,它在单击提交按钮时不提交,但正在验证 见下表: <?php $form = ActiveForm::begin([ 'id' => 'contact-form', 'action' => ['site/index'], 'options' => [ 'class' => 'contact-form wow fadeInUp',

我有一个表单,它在单击提交按钮时不提交,但正在验证

见下表:

<?php
$form = ActiveForm::begin([
            'id' => 'contact-form',
            'action' => ['site/index'],
            'options' => [
                'class' => 'contact-form wow fadeInUp',
                'data-row-duration' => '1s',
            ]
        ])
?>
<div class="form-validation alert">
    <div class="form-group col-md-12">
        <?=
        $form->field($model, 'name', [
            'options' => ['style' => 'margin:0;padding:0'],
            'inputOptions' => [
                'class' => 'form-control',
                'placeholder' => 'Full Name',
                'autocomplete' => 'off'
            ]
        ])->label(false)
        ?>
    </div>
    <div class="form-group col-md-6">
        <?=
        $form->field($model, 'email', [
            'options' => ['style' => 'margin:0;padding:0'],
            'inputOptions' => [
                'class' => 'form-control',
                'placeholder' => 'Email',
                'autocomplete' => 'off'
            ]
        ])->label(false)
        ?>
    </div>
    <div class="form-group col-md-6">
        <?=
        $form->field($model, 'phone', [
            'options' => ['style' => 'margin:0;padding:0'],
            'inputOptions' => [
                'class' => 'form-control',
                'placeholder' => 'Phone',
                'autocomplete' => 'off'
            ]
        ])->label(false)
        ?>
    </div>
    <div class="form-group col-md-12">
        <?=
        $form->field($model, 'name', [
            'options' => ['style' => 'margin:0;padding:0'],
            'inputOptions' => [
                'class' => 'form-control',
                'placeholder' => 'Message',
                'autocomplete' => 'off',
                'rows' => '5'
            ]
        ])->textarea()->label(false)
        ?>
    </div>
    <div class="form-group col-md-4 col-md-offset-8">
<?=Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>

    </div>
<?php ActiveForm::end(); ?>

注意:我没有得到任何错误。它正在验证,但在填写表单并单击submit之后,该按钮不起作用。我甚至使用了
die()
来代替
Yii::$app->session->setFlash()
仍然没有发生任何事情。它只是没有响应。

显然,您有一个错误,但您没有注意到它,因为您正在呈现
名称
字段,而不是
活动表单
中的
消息
字段,我指的是提交按钮之前的最后一个字段

<div class="form-group col-md-12">
    <?=
    $form->field($model, 'name', [
        'options' => ['style' => 'margin:0;padding:0'],
        'inputOptions' => [
            'class' => 'form-control',
            'placeholder' => 'Message',
            'autocomplete' => 'off',
            'rows' => '5'
        ]
    ])->textarea()->label(false)
    ?>
</div>
因此,将最后一个字段更改为下面的字段,现在一切都将正常工作

<div class="form-group col-md-12">
    <?=
    $form->field($model, 'message', [
        'options' => ['style' => 'margin:0;padding:0'],
        'inputOptions' => [
            'class' => 'form-control',
            'placeholder' => 'Message',
            'autocomplete' => 'off',
            'rows' => '5'
        ]
    ])->textarea()->label(false)
    ?>
</div>


您怎么知道它正在验证?你试过寻找错误吗?如果模型没有验证,请尝试使用
var\u dump($model->errors)进行检查;退出在其他部分哦,是的。谢谢,我错过了。但是在做了修正之后。还是一样按钮还是没有响应哪个按钮没有响应?您说表单正在提交,但在模型验证时没有发送电子邮件?您现在面临的问题是什么?控制台中是否存在任何错误@JamesDI检查了使用gii为CRUD生成的代码(表单),并在submit按钮周围看到了if语句。所以我只是模仿它,在相应的控制器函数中写下我想要的。现在它工作正常了。谢谢@Muhammad Omer Aslam。很高兴知道它现在起作用了,所以请将答案标记为正确@贾梅兹
<?= $form->errorSummary($model); ?>
<div class="form-group col-md-12">
    <?=
    $form->field($model, 'message', [
        'options' => ['style' => 'margin:0;padding:0'],
        'inputOptions' => [
            'class' => 'form-control',
            'placeholder' => 'Message',
            'autocomplete' => 'off',
            'rows' => '5'
        ]
    ])->textarea()->label(false)
    ?>
</div>