Palych_tw
@Palych_tw
Типа веб-разработчик

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

Суть вопроса такая: допустим, у меня есть условные посты, где есть name и content. Я хочу, что бы name было уникальным и в валидаторе при создании нового поста пишу что-то типа: 'name' => 'required | unique:posts', Тут все ясно понятно. Но когда я хочу обновить существующий пост, я точно так же хочу, что бы name был уникальный, но в валидаторе при обновлении я уже не могу написать так как в первом случае, потому что если я изменю только контент (ну или любые другие поля), то валидатор выдаст ошибку, что "name" уже занято. Как сделать так, что бы при обновлении записи в таблице уникальность проверялась ТОЛЬКО если name изменяется?
UPD. Laravel 5.2
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@imhuman
'name' => [
    'required',
    Rule::unique('posts')->ignore($post->id),
],
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@D3lphi
Напишите собственное правило валидации. Универсально. Сможете использовать его не только для постов, а для чего угодно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы