У меня есть проблема при использовании маршрута :: пост в Laravel 4.Laravel 4 ошибка: Вызов функции-члена перевалы() на не-объект
Это мой код User.php (Laravel модель):
class User extends Eloquent implements UserInterface, RemindableInterface {
public static function validate($input)
{
$rules = array(
'email' => 'Required|Between:3,64|Email|Unique:users',
'password' => 'Required|AlphaNum|Between:4,8|Confirmed',
'password_confirmation' => 'Required|AlphaNum|Between:4,8'
);
$v = Validator::make($input, $rules);
}
}
Это мой routes.php код:
Route::post('register', function()
{
$v = User::validate(Input::all());
if ($v->passes()){
$u = new User();
$u->email = Input::get('email');
$u->password = Hash::make(Input::get('password'));
$u->save();
Auth::login($u);
return Redirect::to('createprofile');
}
else{
return Redirect::to('register')->withErrors($v->getMessageBag());
}
});
Это мой register_user.blade.php код:
@section('content')
{{ Form::open(array('url' => '/register', 'method' => 'post')) }}
{{ Form::text('email') }}
{{ Form::label('email', 'Your Email') }}</br>
{{ Form::password('password'); }}
{{ Form::label('password', 'Your Password') }}</br>
{{ Form::password('password_confirmation'); }}
{{ Form::label('password_confirmation', 'Confirm Your Password') }}</br>
{{ Form::submit('Go') }}
{{ Form::close() }}
@stop
Проблема, кажется, когда форма представляет Маршрута :: пост он не признает
$v = User::validate(Input::all())
в качестве действительного объекта, вместо того, чтобы дать мне вызов функции члена проходит() на не- объект.
var_dump($v)
имеет значение null.
Кто-нибудь знает, в чем проблема? Является ли User :: validate() правильным способом вызова функции из модели пользователя?
Спасибо, человек. Я на самом деле просто понял это и пришел, чтобы сказать, что это было выяснено, но спасибо в любом случае за ваш быстрый ответ;) –
Пожалуйста, проверьте [это] (http://stackoverflow.com/questions/40100906/code-will-be-execute -or-stop-if-validation-fail-in-laravel), нужна помощь. –