我有一个用户表,但这个表只保存了从其他数据库读过来的用户名,因此model中并没有password这个字段。登录的时候用户名可以本地库认证,密码需要从其他数据库认证密码的正确性,这种情况下,该如何生成activeform中的password项目,如何认证密码呢?
我有一个用户表,但这个表只保存了从其他数据库读过来的用户名,因此model中并没有password这个字段。登录的时候用户名可以本地库认证,密码需要从其他数据库认证密码的正确性,这种情况下,该如何生成activeform中的password项目,如何认证密码呢?
自己 给模型添加一个password 字段 添加rules验证规则 这就相当于自定义字段了 因为数据表中没有这个字段
验证规则 你可以自己写一个内联验证方法
public function rules()
{
return [
//
[['user_name', 'password', ], 'required'],
['password', 'validatePassowrd'],
];
}
public function validatePassword($attribute, $params)
{
// 这里执行 远程验证 如果验证通过了 就什么都不做 如果没通过
$this->addError('password','密码不正确');
}
上例 没有验证用户名 你自己仿此写一个吧 用户名的验证也是验证存在性 你可以用自带的exist
验证器来做