我一直在做表单提交和验证。 我一直在编写长代码来将数据从控制器/ 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。
答案 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('');
}