Laravel по-русски

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

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

#1 16.05.2016 12:55:19

d4c0

Валидация данных

Подскажите адекватный способ валидации данных, пришедших POST запросом?
Написал валидацию в контроллере, мне сказали что это не совсем правильно. И вообще, посмотрев различные способы и хинты, показалось что в laravel валидация как то слишком смахивает на костыль. У кого нибудь есть пример адекватной валидации?

#2 17.05.2016 08:48:47

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Валидация данных

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

class BlogRequest extends Request {

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title' => 'required|min:3',
            'content' => 'required|min:3',
            'blog_category_id' => 'required',
        ];
    }

}

Не в сети

#3 17.05.2016 08:49:15

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Валидация данных

stuchin пишет:

например так
<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

class BlogRequest extends Request {

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title' => 'required|min:3',
            'content' => 'required|min:3',
            'blog_category_id' => 'required',
        ];
    }

}

Не в сети

#4 17.05.2016 12:26:02

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

Re: Валидация данных

А как быть, когда стоит правило

 
'title' => 'required|min:3|unique:posts'

И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?

Не в сети

#5 17.05.2016 12:44:10

stuchin
Откуда: Волгоград
Сообщений: 68

Re: Валидация данных

TrueKanonir пишет:

А как быть, когда стоит правило

 
'title' => 'required|min:3|unique:posts'

И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?

А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.

Не в сети

#6 17.05.2016 13:04:17

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

Re: Валидация данных

stuchin пишет:
TrueKanonir пишет:

А как быть, когда стоит правило

 
'title' => 'required|min:3|unique:posts'

И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?

А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.

Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?

Не в сети

#7 17.05.2016 18:14:56

Re: Валидация данных

TrueKanonir пишет:
stuchin пишет:
TrueKanonir пишет:

А как быть, когда стоит правило

 
'title' => 'required|min:3|unique:posts'

И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?

А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.

Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?

https://laravel.ru/docs/v5/validation#unique

'email' => 'unique:users,email_address,'.$user->id

Не в сети

#8 17.05.2016 21:26:20

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

Re: Валидация данных

andrei24 пишет:

}%

TrueKanonir пишет:
stuchin пишет:

А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.

Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?

https://laravel.ru/docs/v5/validation#unique

'email' => 'unique:users,email_address,'.$user->id

 
'title' => 'required|min:3|unique:posts'

То что нужно. Спасибо

Изменено TrueKanonir (17.05.2016 21:27:22)

Не в сети

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