在Laravel 4中处理复选框的最佳方法是什么?

时间:2014-07-03 19:21:47

标签: checkbox laravel laravel-4

我开始使用Laravel4,我正在努力解决下面的一些基本问题。除了为默认值添加隐藏的复选框之外,还有其他方法可以处理未标记复选框的值吗?

<td class="text-center">
    {{Form::hidden('status', 0)}}
    {{Form::checkbox('status')}}
</td>

这对我来说现在很好用,但我想知道是否有更好的方法来处理Controller @ update中的值。

编辑:表单上的复选框的值由Update操作中的Input :: all()处理。

感谢您的反馈。

2 个答案:

答案 0 :(得分:0)

这实际上是HTML的默认行为,与Laravel处理输入的方式无关。来自HTML spec

  

提交表单时,只有&#34; on&#34;复选框控件可以成功。

     

...

     

每个成功的控件都将其控件名称与其当前值配对,作为提交的表单数据集的一部分。

因此,更通用的方法不是更改HTML表单,而是在检索输入时更改行为,例如:

$status = Input::get('status', false);

答案 1 :(得分:0)

在FormBuilder类中,checkbox方法具有这些参数。

checkbox(string $name, mixed $value = 1, bool $checked = null, array $options = array())

所以你想要:

Form::checkbox('status', 0, false, ['class' => 'form-control']) 

快乐的编码!