php表单验证 - 更好的方法?

时间:2011-02-04 13:35:35

标签: php validation

我一直在做表单提交和验证。 我一直在编写长代码来将数据从控制器/ php页面传递给验证类,然后将其传回给视图显示。

例如: 控制器

if (isset($_POST["btnSubmit")) {
    $result = ClassSomething::validateForm($_POST);
    if (!$result) { //no error
       ClassSomething::insertRecord(...);
    } else {
       $error = $result;
    }

}

class ClassSomething {
    public function validateForm($str) {
        if ($str == "") {
            return "error messagesss";
        }
    }
}

在html的某个地方,我会显示$ error

有没有更好的方法在PHP中进行验证? 是否存在可以重复使用的验证码,而不是为每种形式执行它?

在adv。

1 个答案:

答案 0 :(得分:3)

如何在Kohana中使用此类验证用户登录表单的POST数据:

$post = Validate::factory($_POST)
    ->rules('login', array(
        'not_empty',
        'alpha_dash',
        'min_length' => array(3),
        'max_length' => array(32)
    ))
    ->rules('password', array(
        'not_empty',
        'min_length' => array(4),
        'max_length' => array(64)
    ));

if ($post->check())
{
    // Proceed login
}
else
{
    // $errors will contain an array of errors. If _POST array was empty - $errors will be an empty array.
    $errors = $post->errors('');
}