我有一个带有多个表单的 Laravel 页面,需要发送并进行验证。每次我提交“Form2”时,它都会提交并验证“form1”我试过把它包装在这个if($request->get('submit')){ //do something}如果我删除其他表单,则任一表单都可以工作,而另一个表单可以正确验证。Route::post('/', function(Request $request ) { Mail::send(new ContactMail($request)); return redirect('/');});但这似乎没有任何作用。网页.phpRoute::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<?phpnamespace 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'); }}
1 回答
FFIVE
TA贡献1797条经验 获得超6个赞
你不能有两个具有相同方法和 URL 的路由,因为 Laravel 会在第一次匹配时停止。
只需为路由使用两个不同的 URL 并更改s的action属性<form>:
Route::post('/contact', function(Request $request ) {
Mail::send(new ContactMail($request));
return redirect('/');
});
Route::post('/contactMain', function(Request $request ) {
Mail::send(new ContactMailMain($request));
return redirect('/');
});
<form method="POST" action="{{ url('/contact') }}">
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消