Php kohana 3.3 ORM_验证_异常[0]:验证数组失败
我的登录有问题 我的型号用户:Php kohana 3.3 ORM_验证_异常[0]:验证数组失败,php,kohana,Php,Kohana,我的登录有问题 我的型号用户: class Model_User extends Model_Auth_User { public function login_user($data) { if(isset($data['loginSubmit']) { $auth = Auth::instance()->login($data['loginUsername'], $data['loginPassword'])
class Model_User extends Model_Auth_User
{
public function login_user($data)
{
if(isset($data['loginSubmit'])
{
$auth = Auth::instance()->login($data['loginUsername'], $data['loginPassword']);
return $auth;
}
}
public function rules()
{
return array(
'username' => array(
array('not_empty'),
array('min_length', array(':value', 3)),
array('max_length', array(':value', 32)),
array(array($this, 'unique'), array('username', ':value')),
),
'password' => array(
array('not_empty'),
array('min_length', array(':value', 8)),
array('max_length', array(':value', 32)), //here is a bug
),
'email' => array(
array('not_empty'),
array('min_length', array(':value', 4)),
array('max_length', array(':value', 128)),
array('email'),
array(array($this, 'unique'), array('email', ':value')),
),
);
}
}
在数据库中,密码有一个64个符号的散列。肯定是肯定的,但有些事情是错的。我知道,这是由密码长度的差异造成的-原始密码最多有32个符号,但经过哈希运算后,密码最多有64个符号。当我打电话的时候
Auth::instance()->login($data['loginUsername'], $data['loginPassword']);
第二次调用验证规则,但在散列之后,是什么导致了错误。如何修复它?我知道,将密码的最大长度规则设置为64个字符。但我想要最大长度32。你似乎把事情搞混了。规则定义数据库存储的规则,而不是输入字段的规则。您需要允许64个字符才能将哈希保存到数据库OK。但我听说在Kohana3.3中,一开始,验证被称为,而不是过滤器散列。我不确定这一点。如果将max_length设置为64,是否仍会出现错误?如果不是,则可能先运行过滤器