使用 Laravel 5.8 可邮寄的多表单验证

我有一个带有多个表单的 Laravel 页面,需要发送并进行验证。每次我提交“Form2”时,它都会提交并验证“form1”


我试过把它包装在这个


if($request->get('submit')){

    //do something

}

如果我删除其他表单,则任一表单都可以工作,而另一个表单可以正确验证。


Route::post('/', function(Request $request ) {

    Mail::send(new ContactMail($request));

    return redirect('/');

});

但这似乎没有任何作用。

网页.php


Route::get('/', function () {

    return view('home');

});


Route::post('/', function(Request $request ) {

    Mail::send(new ContactMail($request));

    return redirect('/');

});


Route::post('/', function(Request $request ) {

    Mail::send(new ContactMailMain($request));

    return redirect('/');

});


联系邮箱.php


<?php


namespace App\Mail;


use Illuminate\Bus\Queueable;

use Illuminate\Http\Request;

use Illuminate\Foundation\Http\FormRequest;

use Illuminate\Mail\Mailable;

use Illuminate\Queue\SerializesModels;

use Illuminate\Contracts\Queue\ShouldQueue;


class ContactMail extends Mailable

{

    use Queueable, SerializesModels;


    public $email;


    /**

     * Create a new message instance.

     *

     * @return void

     */`enter code here`

    public function __construct(Request $request)

    {

        $this->email = $request;

    }


    /**

     * Build the message.

     *

     * @return $this

     */

    public function build(Request $request)

    {


        $validatedData = $request->validate([

            'name' => 'required|max:255',

            'emailer' => 'required'

        ]);


        var_dump($validatedData);


        return $this->subject('Mail')

                    ->from($this->email->email, $this->email->name)

                    ->to('mail@mail.com')

                    ->view('email.contactmail');

        }


}


莫回无
浏览 102回答 1
1回答

FFIVE

你不能有两个具有相同方法和 URL 的路由,因为 Laravel 会在第一次匹配时停止。只需为路由使用两个不同的 URL 并更改s的action属性<form>:Route::post('/contact', function(Request $request ) {&nbsp; &nbsp; Mail::send(new ContactMail($request));&nbsp; &nbsp; return redirect('/');});Route::post('/contactMain', function(Request $request ) {&nbsp; &nbsp; Mail::send(new ContactMailMain($request));&nbsp; &nbsp; return redirect('/');});<form method="POST" action="{{ url('/contact') }}">
打开App,查看更多内容
随时随地看视频慕课网APP