In this table, there are 3 main parameters:
"is_active" (BOOLEAN)
"position" (INT)
"id"
This is the Unique Rule
'position' => [
'required_if:is_active,true|integer|min:1',
Rule::unique('tablename')->where(function($query) { $query->where('is_active', '=', 'true')->where('id', '!=', $this->id); }),
],
This rule is supposed to make sure that the position
parameter to be unique among the data that have is_active
set to true
. Current issue is that this rule has been ignored, and I'm able to save the update/edit function even though by right is should have failed this validation.
id=1, position=1, is_active=true
id=2, position=2, is_active=true
when I change the position from 2 to 1, as shown above, it should show an error message, instead of being successful. but it isn't the case.
EDIT: $this
attribute
ParameterBag {#1862
#parameters: array:13 [
"is_active" => "1"
"order" => "2"
]
}
Note: This is in Laravel 5.4 and please do not suggest me to upgrade to Laravel 8, etc.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire