laravel jsValidation ошибка при использовании уникального правила

У меня проблема при использовании уникального правила laravel в CreateRequest с JsValidation. Вот код запроса.

class CreateProductRequest extends Request
{

public function rules()
{
return [

'factory_id' => 'required',
'category' => 'required',
'product_code' => 'required|unique:product',
'un_code' => 'required|unique:product',
'hs_code' => 'required|unique:product',
'section' => 'required',
'status' => 'required',
'product_type' => 'required',
'classification' => 'required',
'main_product_market' => 'required',
'custodian_user_id' => 'required'

];
}
}

Когда я удаляю уникальное поле, это нормально. Но с уникальными правилами я бы получил 500 ошибок сервера следующим образом
введите описание изображения здесь

В консоли это сообщает

введите описание изображения здесь

Стоит отметить, что если я не буду использовать JSValidation, Laravel не выдаст ошибок

Обновить :

В панели отладки я получаю эту ошибку

'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'name'' in /.../demo/vendor/laravel/framework/src/Illuminate/Database/Connection.php:408:

0

Решение

Вы пытаетесь использовать одно и то же уникальное поле для каждого элемента:

'product_code' => 'required|unique:product',
'un_code' => 'required|unique:product',
'hs_code' => 'required|unique:product',

я догадываюсь product это твой стол, а не поле.

Я думаю, что это то, что вы можете быть после:

'product_code' => 'required|unique:product,product_code',
'un_code' => 'required|unique:product,un_code',
'hs_code' => 'required|unique:product,hs_code',

Это потребует, чтобы каждое из этих полей было уникальным.

https://laravel.com/docs/5.2/validation#rule-unique

1

Другие решения

Проблема была позже решена. Моя проблема была в том, что я не печатал CreateProductRequest и вместо этого использовал Request,

Я должен был typeHinted расширенный класс запроса, который объявляет правила.

0

По вопросам рекламы [email protected]