0
私はシンプルな問い合わせフォームから投稿しようとしています
を返さない、私はそれのためにも、簡単な検証ルールを作成しました:Laravel 5 - 要求の検証メッセージ
<?php
namespace App\Http\Requests\Contact;
use Illuminate\Foundation\Http\FormRequest;
class ContactCreateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => 'required|email',
'message' => 'max:500',
];
}
}
ザ・私はから投稿していますフォームです。
@extends('public.layouts.master')
@section('content')
<div class="container contact-form">
<div class="row">
<div class="col-md-6 col-md-offset-3">
@if (session('status'))
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
{{ session('status') }}
</div>
@endif
<div class="well well-sm">
<form autocomplete="off" class="form" method="POST" action="{{ url('/contact') }}">
{{ csrf_field() }}
<fieldset>
<legend class="text-center">Contact us</legend>
<!-- Name input-->
<div class="form-group">
<label class="col-md-3 control-label" for="name">Name</label>
<div class="col-md-9">
<input id="name" name="name" type="text" placeholder="Your name" class="form-control">
</div>
</div>
<!-- Email input-->
<div class="form-group">
<label class="col-md-3 control-label" for="email">Your E-mail</label>
<div class="col-md-9">
<input id="email" name="email" type="email" placeholder="Your email" class="form-control" required>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<!-- Message body -->
<div class="form-group">
<label class="col-md-3 control-label" for="message">Your message</label>
<div class="col-md-9">
<textarea class="form-control" id="message" name="message" placeholder="Please enter your message here..." rows="5"></textarea>
@if ($errors->has('message'))
<span class="help-block">
<strong>{{ $errors->first('message') }}</strong>
</span>
@endif
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
@endsection
そして、これは私が投稿していますコントローラである:私は投稿しようとしているとき
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Requests\Contact\ContactCreateRequest;
use App\Events\MessageSent;
class ContactController extends Controller
{
/**
* Show the first page.
*
* @return \Illuminate\Http\Response
*/
public function show()
{
return view('contact.contact-form');
}
public function create(ContactCreateRequest $request)
{
event(new MessageSent($request->message, $request->email));
return redirect()->back()->with('status', 'The message was succesfully sent to us, we will get back to you inside of 24 hours');
}
}
しかし、何かエラーが発生しました:
なぜですか、検証が完了しないと連絡先フォームにエラーメッセージが表示されないのはなぜですか?あなたがログインしていない場合