laravel输入不适用于阵列

时间:2014-06-22 12:25:42

标签: php validation laravel blade

查看

<td>        
            {{Form::label('start_date', 'Start Date', array('class' => 'awesome'));}}
            <input type="date" name ="start_date" class="input-block-level" placeholder="Start Date" />
        </td>
        <td>    
            {{Form::label('end_date', 'End Date', array('class' => 'awesome'));}}
            <input type="date"  name ="end_date" class="input-block-level" placeholder="End Date" />
        </td> 
    </tr>
    <tr>
        <td>        
            {{ Form::text('answer[]', null, array('class'=>'input-block-level', 'placeholder'=>'Option')) }}
            {{ Form::text('answer[]', null, array('class'=>'input-block-level', 'placeholder'=>'Option')) }}
            {{ Form::text('answer[]', null, array('class'=>'input-block-level', 'placeholder'=>'Option')) }}
            {{ Form::text('answer[]', null, array('class'=>'input-block-level', 'placeholder'=>'Option')) }}
        </td>
   </tr>

这里我必须做一些验证,如果错误我需要重定向到预加载数据的同一页面..

if ($validator->fails())
        {
            return Redirect::back()->withErrors($validator)->withInput();
        }

回答[] 数组是这里的瓶颈.. 内容不适用于数组..它显示以下错误

ErrorException
htmlentities() expects parameter 1 to be string, array given (View: C:\xampp\htdocs\sms\app\views\questions\create.blade.php)

任何想法??

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。显然,根据this post,解决方案是手动为每个输入添加索引。

所以试试:

for($i=0; $i<4; $i++){
   {{ Form::text("answer[$i]", null, array('class'=>'input-block-level', 'placeholder'=>'Option')) }}
}

而不是使用'answer []'作为输入名称。

答案 1 :(得分:0)

在验证前使用foreachfor循环...

$data = Input::get('answer');

$rules = [];

foreach(Input::get('answer') as $k => $val){
   $rules[$k] = 'required';
}

$v = Validator::make($data, $rules);