在laravel表单上验证多个图像上传失败

时间:2014-02-12 06:50:08

标签: php validation laravel

我在这里已经在Laravel中构建了一个基本应用程序 - 但是我有两个模型,即文章和照片模型。一篇文章可以有很多照片,因此我设置了我的表单,以便您可以通过javascript动态添加多个文件输入。这里的问题是,如果没有验证错误,表单只会膨胀 - 但是如果存在验证错误 - 我会收到这条可怕的错误消息,说明

 htmlentities() expects parameter 1 to be string, array given (View: D:\wamp\www\one1\one1info-revamped\app\views\administration\articles\create.blade.php) 

以下是控制器中我的商店方法的代码:

public function store()
    {
        $input = Input::except('photos', 'captions');
        $validation = Validator::make($input, Article::$rules);
        $photos = Input::file('photos');
        $captions = Input::file('captions');

        if ($validation->passes() ){


            $article = $this->article->create($input);

            foreach($photos as $ii => $one_photo){
                $photo = new Photo();
                $name = $article->title . '-' . $ii;

                $photo->create_n_upload($one_photo, array(  'name'=>$name, 
                                                            'caption'=>$captions[$ii], 
                                                        'imageable_type'=>'Article', 
                                                        'imageable_id'=>$article->id ));
            }

            return Redirect::route('admin.articles.index');
        }



        return Redirect::route('admin.articles.create')
            ->withInput()->withErrors($validation);

    }

我真的不知道我在哪里弄错了 - 这里也是我的文章模型:

class Article extends Eloquent {
    protected $guarded = array();


  public function photos()
  {
      return $this->morphMany('Photo', 'imageable');
  }

    public static $rules = array(
        'title' => 'required',
        'author' => 'required',
        'caption' => 'required',
        'body' => 'required',
    'section_id'=>'required',
    'dated'=>'',
        'is_published' => 'required',
        'created_by' => ''
    );
}

你可以看到我还没有为图像添加任何规则 - 但只是在表单中包含它们已经开始导致此错误。它只会在验证失败时发生 - 如果所有内容都按要求输入 - 它会顺利进行但是我需要确保错误处理在这里工作正常。

以下是我的表单上的上传文件:

  <li>
        {{ Form::label('images', 'Images:') }}
        <a href="javascript:void(0)" id="link-add-image" class="btn btn-small">ADD IMAGE</a>
        <div class="clearfix"></div>
          <ul id="image-upload-holder">
            <li>      
               <div class="well">
                 <input name="photos[]" type="file" />
                 {{ Form::text('captions[]') }}
                 <a href="javascript:void(0)" class="btn btn-small lnk-remove-image"><i class="icon-cross"/></a>
               </div>
            </li>
          </ul>
      </li>

0 个答案:

没有答案