【问题标题】:How to validate a form in Kohana 3.3.1如何在 Kohana 3.3.1 中验证表单
【发布时间】:2015-10-01 08:44:43
【问题描述】:

我正在尝试验证表单,但它没有显示验证错误,如果字段为空,它会保存。如何验证表格? 我的代码是:

public function action_upload()
{
 if($_POST) {

                $name = array(
                    'name' => Arr::get($_POST, 'name')
                );
                $validate = Validation::factory($name)
                ->rule('name', 'not_empty');
               try {  

                    $save = Model_Offers::Save($this->user['user_id'],  $name);

                }
                catch (ORM_Validation_Exception $e)
                {
                    $result = $e->errors('models');
                    echo '<pre>';
                    print_r($result);
                    exit;
                }

            }

    }

我的看法是:

<form id="myForm" action="<?php echo URL::base()?>user/upload" method="post" enctype="multipart/form-data">
<div class="input-group">
    <label for="file">Name: </label>
    <input type="text" name="name" id="name"><br>
</div>
</form>

【问题讨论】:

  • 有段时间没和Kohana合作了,应该是-&gt;rule('title', 'not_empty');吧?您将密钥设置为title,而不是name
  • 关于name输入。
  • 有,但是没有$title['name'],只有$title['title']
  • 是的,写的时候有问题,我来编辑一下。
  • 我是用JS做的,但是小花对我来说还是很难。

标签: validation kohana


【解决方案1】:

您创建了验证对象,但忘记实际应用您分配的规则。只需调用

$validate->check()

最好把它放在 if-else 语句中

if($validate->check()){
//Save object
}
else{
//Get errors (use $validate->errors())
}

希望对您有所帮助! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多