【问题标题】:kohana form validationkohana 表单验证
【发布时间】:2012-06-25 13:53:01
【问题描述】:

有一个“main.php”视图,其中包含一个带有emailname 字段的表单以及一个提交按钮。 Eveyrthing 与action_index(代码如下)一起工作正常,但我很好奇如何修改下面的代码,以便验证电子邮件是否输入正确。如果电子邮件字段无效,则不应将值放入数据库中。我希望可以使用->rule。是吗?如果是,那么如何在哪里添加验证? (我以不同的方式尝试它没有运气)。

public function action_index()
{
        if ( !empty($_POST) ) {
           $model = ORM::factory('tbl1'); // create
           $model->values($_POST); // load values to model

           if ($model->check()) {
               $model->save(); // save the model
           } else {
             //show errors
           }
        }

        $this->response->body(View::factory('main'));
}

谢谢。

【问题讨论】:

标签: php forms validation input kohana


【解决方案1】:

在您的 ORM 模型中使用 rules 函数:

public function rules()
{
    return array(
        'email' => array(
            array('email', array(':value')),
        ),
    );
}

【讨论】:

  • 谢谢,但我把它放到类 Model_Tbl1 extends ORM {} 中并在控制器中使用 if ( $model->rules()) 而不是 if ( !empty($_POST) ) 并移动了“ $model = ORM::factory('tbl1');"在 if 之前,但它说“ORM_Validation_Exception [0]:无法验证数组”。我究竟做错了什么?谢谢。
  • 没什么,你只需要在 try catch 块中捕获异常并向用户显示错误:)
猜你喜欢
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多