I have this json input:
{
"edit_vote": {
"id": "5",
"new_description": "something new"
},
"delete_vote": {
"id": "7"
},
"sub_item": {
"add_sub_items": [
{
"sub_item": {
"description": "desc",
"url": "url"
}
},
{
"sub_item": {
"description": "desc",
"url": "url"
}
},
{
"sub_item": {
"description": "desc",
"url": "url"
}
}
],
"edit_sub_items": [
{
"sub_item": {
"id": "123",
"description": "desc",
"url": "url"
}
},
{
"sub_item": {
"id": "123",
"description": "desc",
"url": "url"
}
},
{
"sub_item": {
"id": "123",
"description": "desc",
"url": "url"
}
}
],
"delete_sub_item": [
{
"sub_item": {
"id": "23"
}
},
{
"sub_item": {
"id": "23"
}
},
{
"sub_item": {
"id": "23"
}
}
]
}
}
My conditions are: ATLEAST one of edit_vote OR delete_vote OR sub_item must be present.
- if edit_vote is present, it must have id field and new description field.
- If delete_vote is present, it must have id field
- if sub_item is present, it must be an array (I have not reached this part yet)
This is the validation I am using (laravel 5.1):
$rules["edit_vote"] = "required_without_all:delete_vote,sub_item";
$rules["delete_vote"] = "required_without_all:edit_vote,sub_item";
$rules["sub_item"] = "required_without_all:edit_vote,delete_vote";
$rules["edit_vote.id"] = "required_with:edit_vote|integer";
$rules["edit_vote.new_description"] = "required_with:edit_vote|String";
$rules["delete_vote.id"] = "required_with:delete_vote.id";
But, the problem comes, when I have this :
"delete_vote": {
}
, instead of
"delete_vote": {
"id": "7"
}
My validator seems to think its valid.
What is the problem ?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire