使用Laravel验证验证布尔值

use*_*986 4 validation laravel laravel-4

我有一个登录表单

username,passwordremember me

remember me 是一个复选框(true或false).

如何在Laravel中创建验证规则? http://laravel.com/docs/validation#basic-usage

它看起来唯一相关的是in你指定的值,但在这种情况下的值是布尔值,并使用这种方法,他们将被指定为字符串?

in:true,false

mor*_*tic 6

有一个验证器boolean.假设您正在使用其中一个简化模型验证的软件包,例如EsensiModel,就像将以下内容添加到您的Model:

protected $rules = [
    'email'       => 'required|email',
    'password'    => 'required',
    'remember_me' => 'boolean',
];
Run Code Online (Sandbox Code Playgroud)


The*_*pha 5

你可以尝试这样的事情:

$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
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经使用了email推荐的方法,但如果您使用username除此之外的其他方法email,只需将规则中的 和 更改为email如下所示:usernameusername

'username' => 'required|alpha|min:6' // Accepts only a-z and minimum 6 letters
Run Code Online (Sandbox Code Playgroud)