我有一个
的登录表单 username
,password
和remember me
remember me
是一个复选框(true或false)。
如何在Laravel中创建验证规则? http://laravel.com/docs/validation#basic-usage
它看起来唯一相关的是in
并指定了值,但在这种情况下的值是布尔值,使用这种方法将它们指定为字符串?
in:true,false
答案 0 :(得分:6)
There's a validator for boolean
.假设您正在使用其中一个简化模型验证的软件包,例如: EsensiModel,就像在Model
中添加以下内容一样简单:
protected $rules = [
'email' => 'required|email',
'password' => 'required',
'remember_me' => 'boolean',
];
答案 1 :(得分:1)
您可以尝试这样的事情:
$rules = array('email' => 'required|email', 'password' => 'required');
$inputs = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
$validator = Validator::make($inputs, $rules);
if($validator->fails()) {
return Redirect::back()->withInput()->withErrorts($validator);
}
else {
$remember = Input::get('remember', FALSE);
if(Auth::attempt($inputs, !!$remember)) {
// Log in successful
return Redirect::to('/'); // redirect to home or wherever you want
}
}
我使用了推荐的email
,但如果您使用username
而不是email
,则只需将email
更改为username
并在规则中使用对于username
使用类似这样的内容:
'username' => 'required|alpha|min:6' // Accepts only a-z and minimum 6 letters