Kohana 验证 - 为什么我的自定义规则总是 return 为真?
Kohana validation - why my custom rule always return true?
为什么我的自定义规则总是 return 正确?
我的控制器:
class Controller_Users extends Controller {
public function action_func() {
if ($_POST) {
$validation = Validation::factory($_POST);
$validation->rule('field', 'Test::func', array(':value'));
$check = $validation->check(); // always true
}
}
}
和class测试:
class Test {
static public function func($value) {
return false;
}
}
明确指出 - 错误。但是 ->check()
return 是真的。为什么?以及如何修复它?
因为你需要使用$validation->error()
class Controller_Users extends Controller {
public function action_func() {
if ($_POST) {
$validation = Validation::factory($_POST);
$validation->label('field','Some label')
$validation->rule('field', 'Test::func', array(':value',':validation'));
$check = $validation->check(); // always true
}
}
}
和class测试:
class Test {
static public function func($value, $validation) {
$validation->error('field','Some error desc');
return false;
}
}
为什么我的自定义规则总是 return 正确? 我的控制器:
class Controller_Users extends Controller {
public function action_func() {
if ($_POST) {
$validation = Validation::factory($_POST);
$validation->rule('field', 'Test::func', array(':value'));
$check = $validation->check(); // always true
}
}
}
和class测试:
class Test {
static public function func($value) {
return false;
}
}
明确指出 - 错误。但是 ->check()
return 是真的。为什么?以及如何修复它?
因为你需要使用$validation->error()
class Controller_Users extends Controller {
public function action_func() {
if ($_POST) {
$validation = Validation::factory($_POST);
$validation->label('field','Some label')
$validation->rule('field', 'Test::func', array(':value',':validation'));
$check = $validation->check(); // always true
}
}
}
和class测试:
class Test {
static public function func($value, $validation) {
$validation->error('field','Some error desc');
return false;
}
}