Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.10.2016 17:39:09

Как правильно сделать валидацию пользователей в 5.3?

Всем привет.

В модели User правил валидации нет, есть в контроллере RegisterController, но они protected, т.к. он вызывается из trait RegistersUsers.

У меня два пути регистрации пользователей: из админки и с сайта.

Собственно вопрос, как сделать правильно? Вынести в модель User правила валидации и отталкиваться от них, или же как то извернуться и использовать то, что встроено в лару? Если второй вариант, то как?

Сильно не пинайте =)

Не в сети

#2 25.10.2016 18:08:40

Re: Как правильно сделать валидацию пользователей в 5.3?

А зачем изворачиваться? Что, собственно, не устраивает?

Не в сети

#3 25.10.2016 18:24:39

Re: Как правильно сделать валидацию пользователей в 5.3?

Androbim пишет:

А зачем изворачиваться? Что, собственно, не устраивает?

не хватает опыта сделать правильно, вот и прошу совет smile

Изменено kamwork (25.10.2016 18:32:34)

Не в сети

#4 25.10.2016 18:29:45

Re: Как правильно сделать валидацию пользователей в 5.3?

Если пролистнете контроллер вниз, есть там такое?

protected function validator(array $data) {
        return Validator::make($data, [
                    'name' => 'required|max:255',
                    'email' => 'required|email|max:255|unique:users',
                    'password' => 'required|min:6|confirmed',
        ]);
    }

Эта функция вызывается в register()

$this->validator($request->all())->validate();

Не в сети

#5 25.10.2016 18:36:25

Re: Как правильно сделать валидацию пользователей в 5.3?

Androbim пишет:

Если пролистнете контроллер вниз, есть там такое?

protected function validator(array $data) {
        return Validator::make($data, [
                    'name' => 'required|max:255',
                    'email' => 'required|email|max:255|unique:users',
                    'password' => 'required|min:6|confirmed',
        ]);
    }

Эта функция вызывается в register()

$this->validator($request->all())->validate();

Да, но я не понял как добраться до контроллера. Я видимо не верно создаю пользователя, я делаю это через модель.

    public function postCreate(Request $request)
    {
        $user = User::create($request->all());
        $user->save();

        $administrator = Role::where('name', '=', 'administrator')->firstOrFail();
        $user->attachRole($administrator);

        return redirect()->action('\App\Http\Controllers\admin\AdminManagementController@index');
    }

Не в сети

#6 25.10.2016 18:39:54

Re: Как правильно сделать валидацию пользователей в 5.3?

Что значит, не знаете? Вы же сами пишете:

kamwork пишет:

В модели User правил валидации нет, есть в контроллере RegisterController, но они protected, т.к. он вызывается из trait RegistersUsers.

Вы не в курсе, где находятся контроллеры? Но... это уж как-то слишком.
И зачем лезть в модель? "Все украдено до нас!" (С)

Изменено Androbim (25.10.2016 18:41:09)

Не в сети

#7 25.10.2016 19:01:58

Re: Как правильно сделать валидацию пользователей в 5.3?

Androbim пишет:

Что значит, не знаете? Вы же сами пишете:

kamwork пишет:

В модели User правил валидации нет, есть в контроллере RegisterController, но они protected, т.к. он вызывается из trait RegistersUsers.

Вы не в курсе, где находятся контроллеры? Но... это уж как-то слишком.
И зачем лезть в модель? "Все украдено до нас!" (С)


Лезу в модель, потому что так учили smile Можно конечно поглумиться надо мной, а можно и помочь smile

Не в сети

#8 25.10.2016 19:04:47

Re: Как правильно сделать валидацию пользователей в 5.3?

Извините, я пас.

Не в сети

#9 25.10.2016 19:28:02

Re: Как правильно сделать валидацию пользователей в 5.3?

Разобрался с валидацией и стандартным методом, просто шлем post запрос на /register

Но как победить предустановленную валидацию, мне в случаи регистрации через админку нужен одни редирект, через сайт другой.

Не в сети

#10 25.10.2016 20:32:00

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: Как правильно сделать валидацию пользователей в 5.3?

Можно тупо создать CRUD контроллер для пользователей, и валидировать / заносить все данные в таблицу пользователей.

Не в сети

#11 26.10.2016 16:41:29

Re: Как правильно сделать валидацию пользователей в 5.3?

Возможно будет полезным. Джефри вчера как раз добавил видео о валидации в 5.3:
https://laracasts.com/series/whats-new- … pisodes/18

Не в сети

#12 26.10.2016 19:27:57

Re: Как правильно сделать валидацию пользователей в 5.3?

XFR пишет:

Возможно будет полезным. Джефри вчера как раз добавил видео о валидации в 5.3:
https://laracasts.com/series/whats-new- … pisodes/18

Спасибо. Посмотрю

Не в сети

#13 28.10.2016 18:46:12

Re: Как правильно сделать валидацию пользователей в 5.3?

XFR пишет:

Возможно будет полезным. Джефри вчера как раз добавил видео о валидации в 5.3:
https://laracasts.com/series/whats-new- … pisodes/18

Отличный урок smile Мои задачи по валидации решились, все круто. Есть еще вопросы, для более сложной валидации, но это уже доки курить

Не в сети

Подвал раздела