Laravel发布表单错误

时间:2016-12-05 17:42:20

标签: php laravel laravel-5.3

我第一次提交表格时遇到了问题。

当我提交表格时,它不会去邮寄路线,我不知道为什么。

我的帖子是:

    Route::post('/app/add-new-db', function()
  {
    $rules = array(
          'name' => 'required|min:4',
          'file' => 'required'
    );

    $validator = Validator::make(Input::all(), $rules);
    if ($validator->fails()) {

      // get the error messages from the validator
      $messages = $validator->messages();

      // redirect our user back to the form with the errors from the validator
      return Redirect::to('app/add-new-db')
         ->withErrors($validator);

     }
     else
     {
        $name = Input::get('name');
        $fname = pathinfo(Input::file('file')->getClientOriginalName(), PATHINFO_FILENAME);
        $fext = Input::file('file')->getClientOriginalExtension();
        echo $fname.$fext;
        //Input::file('file')->move(base_path() . '/public/dbs/', $fname.$fext);

        /*
        DB::connection('mysql')->insert('insert into databases (name, logotipo) values (?, ?)',
         [$name, $fname.$fext]);
         */
       //return Redirect::to('app/settings/');
     }
  });

我的HTML:

    <div class="mdl-cell mdl-cell--12-col content">
  {!! Form::open(['url'=>'app/add-new-db', 'files'=>true]) !!}
  <div class="mdl-grid no-verticall">
    <div class="mdl-cell mdl-cell--12-col">
      <h4>Adicionar Base de Dados</h4>
      <div class="divider"></div>
    </div>
    <div class="mdl-cell mdl-cell--6-col">
      <div class="form-group">
        {!! Form::label('name', 'Nome: ') !!}
        {!! Form::text('name', null, ['id'=> 'name', 'class' => 'form-control']) !!}
      </div>
      <div class="form-group">
        {!! Form::label('image', 'Logotipo:') !!}
        {!! Form::file('image', ['class'=>'form-control']) !!}
        @if ($errors->has('image'))
          <span class="error">{{ $errors->first('image') }}</span>
        @endIf
      </div>
      <div class="form-group">
        {!! Form::submit('Adicionar', ['id'=>'add-new-db', 'class'=>'btn btn-default']) !!}
        <p class="text-success"><?php echo Session::get('success'); ?></p>
      </div>
    </div>
  </div>
  {!! Form::close() !!}
</div>

我是从jquery get:

加载的
    function addDB()
   {
     $( "#settings-new-db" ).click(function(e)
     {
       $.get('/app/add-new-db', function(response)
       {
          $('.content-settings').html("");
          $('.content-settings').html(response);
          componentHandler.upgradeDom();
       });
       e.preventDefault();
     });
   }

当我尝试提交表单时,我在Chrome网络控制台中找到了302.

我正在以这种方式做表格,这是第一次发生。有人可以帮帮我吗?

由于

1 个答案:

答案 0 :(得分:2)

修复图片上传字段的名称属性。您在表单中将其称为image,但您尝试在控制器中将其作为file获取。