Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Подскажите адекватный способ валидации данных, пришедших POST запросом?
Написал валидацию в контроллере, мне сказали что это не совсем правильно. И вообще, посмотрев различные способы и хинты, показалось что в laravel валидация как то слишком смахивает на костыль. У кого нибудь есть пример адекватной валидации?
<?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',
];
}
}
Не в сети
например так
<?phpnamespace 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',
];
}}
Не в сети
А как быть, когда стоит правило
'title' => 'required|min:3|unique:posts'
И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?
Не в сети
А как быть, когда стоит правило
'title' => 'required|min:3|unique:posts'
И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?
А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.
Не в сети
TrueKanonir пишет:А как быть, когда стоит правило
'title' => 'required|min:3|unique:posts'
И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?
А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.
Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?
Не в сети
stuchin пишет:TrueKanonir пишет:А как быть, когда стоит правило
'title' => 'required|min:3|unique:posts'
И при редактировании поста,он ругается и говорит что такой заголовок уже есть. Как это исправить?
А он есть?, зайди в программу управления базой и посмотри, есть такой заголовок или нет, а потом уже думай что дальше делать.
Дык я редактирую пост который уже в базе.
Допустим есть пост "тестовый пост", я его редактирую,изменяю дату публикации или теги,но title не трогую (title должен остаться таким же), сохраняю изменения,и валидатор ругается на то,что пост с таким тайтлом есть в базе. Как от этого избавиться?
https://laravel.ru/docs/v5/validation#unique
'email' => 'unique:users,email_address,'.$user->id
Не в сети
}%
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)
Не в сети
Страницы 1