Ich möchte benutzerdefinierte Validierungsnachrichten an meine Ansicht übergeben, die eine benutzerdefinierte Anforderung beim Speichern einer Rolle verwenden.Warum Fehlermeldungen in Laravel-Ansichten nicht angezeigt werden?
Ich habe eine neue Anfrage erstellen StoreRoleRequest
namens
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use Illuminate\Contracts\Validation\Validator;
class StoreRoleRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required'
];
}
protected function formatErrors(Validator $validator)
{
return $validator->errors()->all();
}
public function messages()
{
return [
'name.required' => 'the name of the Role is mandatory',
];
}
}
Und dann in den RoleController
wie diese diese kundenspezifische Anfrage an meine Speicher-Funktion übergeben:
public function store(StoreRoleRequest $request)
{
Role::create($request->all());
return redirect(route('role.index'));
}
Ich habe eine Ansicht, die das schaffen zeigen Rollenform, bei der die Validierung korrekt zu funktionieren scheint, aber ohne dass mir ein Fehler angezeigt wird, selbst wenn ich sie so in die Ansicht rufe:
{!! Former::open()->action(route('role.store')) !!}
@if (count($errors->all()))
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</div>
@endif
{!! Former::text('name')->label('Groupe name') !!}
{!! Former::text('display_name')->label('Displayed name') !!}
{!! Former::text('description')->label('Description') !!}
{!! Former::actions(Button::primary('Save')->submit(),
Button::warning('Clear')->reset() ,
Button::danger('Close')->asLinkTo('#')->withAttributes(['data-dismiss' => 'modal'])
)!!}
{!! Former::close() !!}
Hat jemand eine Idee warum die Fehler nicht in der Ansicht erscheinen? schleife ich etwas in der benutzerdefinierten Anfrage?
EDIT
NB: Auch in der Anmeldung und die Registrierung der Fehler bilden mehr nicht angezeigt wird.
In diesem Fall ich meine middlware ändern, die auf dem Web-['middleware' => ['web']
darauf hingewiesen wurde: perfekt angezeigt
Route::group(['middleware' => []], function()
{
// other routes
Route::resource('role', 'RoleController');
});
und alle meine Fehler.
Haben Sie die Ursache für dieses Problem gefunden?
Es mag viele Gründe geben. Werfen Sie einen Blick auf http://StackOverflow.com/Questions/34454081/undefined-Variable-errors-in-Laravel/34454302#34454302 - es könnte helfen –
Zuerst dump: '{{dd ($ error)}}' . Ich denke, das ist eine innere Sammlung und deshalb zeigt es überhaupt nichts. –
@ MarcinNabiałek: die Middlware ist korrekt als genau die Antwort eingefügt, die Sie einreichen. – Drwhite