kohana验证复选框不是isset

时间:2014-02-09 15:47:16

标签: php html validation kohana

我想知道如何在没有选中的情况下将$ _POSt设置为0(不添加隐藏输入)

我的模型扩展了ORM:

public function rules()
{
    return array(
        'title' => array(
            array('not_empty')
        )
    );
}

我的HTML格式:

<form>
<input type="text" name="title">
<input type="checkbox" name="is_send" value="1">
</form>

我的控制器

try
    {
        $mymodel = ORM::factory('mymodel')->values($_POST, array("title", "is_send"));
            $mymodel->save();
    }
    catch (ORM_Validation_Exception $e)
    {
       $errors = $e->errors();
    }

问题是,当我没有勾选“is_send”框时,我不能把is_send设置为0,因为它不是isset,任何想法?

THX

1 个答案:

答案 0 :(得分:2)

你想要这样的东西:

$post = $this->request->post();
$post['is_send'] = Arr::get($post, 'is_send', 0);

try
{
    $mymodel = ORM::factory('mymodel')->values($post);
    $mymodel->save();
}
catch (ORM_Validation_Exception $e)
{
    $errors = $e->errors();
 }