Validation Valid::Kohana 3.1中的not_empty始终通过验证检查

Validation Valid::Kohana 3.1中的not_empty始终通过验证检查,validation,kohana,Validation,Kohana,我在Kohana 3.1中有一条规则,用于检查一个非空字段,该字段即使为空也始终通过验证检查Valid::empty即使检查的字段为空,也不会返回错误,这意味着用户可以提交一个空表单,$post->check将返回true $post = Validation::factory($_POST) ->rule('username', 'Valid::not_empty'); 在本例中,$post->check()将通过,即使username为空。我不明白这是为什么。如果我尝试验证表

我在Kohana 3.1中有一条规则,用于检查一个非空字段,该字段即使为空也始终通过验证检查
Valid::empty
即使检查的字段为空,也不会返回错误,这意味着用户可以提交一个空表单,
$post->check
将返回true

$post = Validation::factory($_POST)
    ->rule('username', 'Valid::not_empty');
在本例中,
$post->check()
将通过,即使
username
为空。我不明白这是为什么。如果我尝试验证表单,并且字段不能为空,则用户可以提交一个空表单,并且它将通过验证检查

这种行为的原因是什么?实现预期结果的最佳方式是什么

$post = Validation::factory($_POST)
    ->rule('username', 'not_empty');

只需删除“Valid::”)

您知道->check()返回一个布尔值,如果它有效或无效?这很有效,谢谢!文档有点误导:“在有效类中定义的规则可以通过单独使用方法名来添加。以下三个规则是等效的:$object->rule('number','phone');$object->rule('number',array('Valid','phone'));$object->rule('number','Valid::phone');”我认为这也适用于'not umpty'。