【发布时间】:2014-06-26 14:42:20
【问题描述】:
如何向模型添加多个验证规则?
我创建了一个 BaseModel,其中 BaseModel 扩展了 Eloquent。 我的其他模型扩展了 BaseModel。
模型/基础模型
class BaseModel extends Eloquent {
public $errors;
public function validate($data) {
$validation = Validator::make($data, static::$rules);
if($validation->passes()) {
return true;
}
$this->errors = $validation->messages();
return false;
}
}
模型/用户
protected static $rules = [
'email_address' => "required|email|unique:users,email_address",
'first_name' => "required",
'last_name' => "required",
'password' => "required|min:6|same:confirm_password",
'confirm_password' => "required:min:6|same:password",
];
以上规则适用于注册页面。
现在我的登录页面也将通过用户模型。
它应该验证电子邮件地址和密码。
是否可以为模型添加多个验证规则。
我确信我可以让 $rules 成为一个变量,它通过了验证函数,但这看起来并不干净。 例如
模型/基础模型
public function validate($data, $rules) {
【问题讨论】:
-
登录时验证不是模型工作。把它留给别的东西,因为模型应该只负责(如果你想要的话)创建一个新记录。验证登录凭据是另一回事,实际上您根本不需要它。除非有你想分享的理由?
-
我没有验证登录,我正在尝试使用多个验证规则。
标签: php validation laravel model