I am having issue while using laravel unique rule in CreateRequest with JsValidation. Here is the Request code.
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'
];
}
}
When I remove the unique field its fine. But with unique rules I would get 500 server error as follows
In console it reports
It worth noting that if I don't use the JSValidation Laravel will produce no errors
Update :
In the Debug Bar I am getting this error
'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:
The issue was later solved. My issue was that I was not typeHinting the CreateProductRequest
and was instead using Request
.
I should have been typeHinted the extended Request class that declares the rules.