【问题标题】:laravel4 form validation errorslaravel4 表单验证错误
【发布时间】:2023-03-11 20:31:01
【问题描述】:

我在我的应用程序中使用 laravel4 表单,用户可以在其中将一些数据通过 post 表单存储到数据库。当我发布空白表单时,出现错误 NotFoundHttpException。 我在 HomeController 中有

public function create()
{
    $validation = Producer::validate(Input::all());

    if ($validation->fails()) {
        return Redirect::to('home/create')->withErrors($validation->errors());
    } else {




        $producer = new Producer;
        $producer->title = Input::get('title');
        $producer->body = Input::get('body');
        $producer->url = Input::get('url');

        $producer->save();

        return Redirect::to('/');
    }
}

型号

class Producer extends Eloquent {

public static $rules = array(
    'title'=>'required|min:5',
    'body'=>'required|min:10',
    'url' => 'required'
);

public static function validate($data) {
    return Validator::make($data, static::$rules);
}

并查看

@if($errors->has())
   <ul>
     {{ $errors->first('title', '<li>:message</li>') }}
     {{ $errors->first('body', '<li>:message</li>') }}
     {{ $errors->first('url', '<li>:message</li>') }}
   </ul>
@endif
   {{ Form::open(array('url' => 'create')) }}
     <p>{{ Form::label('title', 'Název služby') }}</p>
     <p>{{ Form::text('title') }}</p>
     <p>{{ Form::label('body', 'Popis') }}</p>
     <p>{{ Form::textarea('body') }}</p>
     <p>{{ Form::label('url', 'Adresa webu') }}</p>
     <p>{{ Form::textarea('url') }}</p>
     <p>{{ Form::submit('Přidat',array('class' => 'btn btn-default')) }}</p>
   {{ Form::close() }}

但是当我运行这个脚本时,我得到错误NotFoundHttpException。我的路由代码哪里有问题?

我的路线

Route::get('/', 'HomeController@showWelcome');

Route::get('/detail/{id}', 'HomeController@detail');

Route::get('/add', 'HomeController@add');

Route::post('/create', 'HomeController@create');

现在我有

Route::get('/', 'HomeController@showWelcome');

Route::get('/detail/{id}', 'HomeController@detail');

Route::get('/add', 'HomeController@add');

Route::post('/create', 'HomeController@create');

Route::get('/create', 'HomeController@create');

if ($validation->fails()) {
  return Redirect::to('/create')->withErrors($validation);
} else {

还是一样的问题

解决了我有很大的错误我重定向到坏路由我需要使用 HomeController@add 因为这会为表单创建视图

【问题讨论】:

  • 能不能把routes.php中的相关路由贴出来

标签: forms validation error-handling laravel laravel-4


【解决方案1】:

路线home/create 不存在。检查你的路线,它应该是/create。另一个问题,您需要处理getcreate 路由。目前你只有一个可以发帖。

【讨论】:

  • 如果我只是通过产生相同错误的验证器,我认为问题出在我的路线上
猜你喜欢
  • 1970-01-01
  • 2013-08-13
  • 2012-07-01
  • 2011-09-18
  • 2018-12-05
  • 2016-03-20
  • 2011-02-21
  • 1970-01-01
相关资源
最近更新 更多