我为自己创建了一个表单,它工作得很完美。我做了一些规则:如果用户没有在表单中写任何东西或者写得不够,请给我一些错误信息。这是在使用'前'包而不是通常使用的'形式'包时使用。现在我将表单从“Former”改为“Form”,现在我的错误信息已经消失了......好吧我的表单也适用了。如果我没有在我的表单中写任何内容,或者标题/内容部分中没有至少3个字符,那么它应该重定向我所需的错误。这有效,但没有错误消息。
这是我的表格:
@extends('master')
@section('content')
{!! Form::open(array('action' => 'Test\\TestController@store')) !!}
<div class="form-group">
{!! Form::label('thread', 'Title:') !!}
{!! Form::text('thread', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('content', 'Body:') !!}
{!! Form::textarea('content', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Add Thread', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
@stop
我的Controller @ store功能:
public function store(StoreRequest $request){
Thread::create($request->all());
return redirect(action('Test\\TestController@index'));
}
我的模特:
<?php
namespace App\Models\Thread;
use Illuminate\Database\Eloquent\Model;
class Thread extends Model {
public $table = 'thread';
public $fillable = [
'thread',
'content',
];
}
现在规则(StoreRequest.php):
<?php
namespace App\Http\Requests\Store;
use App\Http\Requests\Request;
class StoreRequest extends Request {
public function rules() {
return [
'thread' => 'required|min:3',
'content' => 'required|min:3'
];
}
public function authorize() {
return true;
}
}
自动生成错误消息。 Laravel为我做了那件事。但不是了。
有人知道为什么吗?
答案 0 :(得分:0)
您可以检查表单是否在这些行中返回任何错误:
.ForMember(q => q, option => option.MapFrom(q => q.Product))
或者你可以使用BootForm并让它为你处理一切