Codeigniter 4 Валидация ключей в ассоциативном массивеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Codeigniter 4 Валидация ключей в ассоциативном массиве

Сообщение Anonymous »

Я хотел бы подтвердить следующий json в Ci4: < /p>
{
"field1": "some value",
"array1": {
"2876": "4358",
"9904": "17"
}
}
< /code>
массив 1 может разумно содержать до 50 паров значений ключей. Из этого вопроса давайте требуем, чтобы они оба были числовыми. $validation = \Config\Services::validation();

$validation->setRules([
'field1' => 'required|max_length[20]',
'array1.*' => 'required|numeric',
]);

if (! $validation->withRequest($this->request)->run()) {
return $this->failValidationErrors($validation->getErrors());
}
< /code>
Альтернативно основан на ответе, который я видел в другом месте: < /p>
$validation = \Config\Services::validation();

$validation->setRules([
'field1' => 'required|max_length[20]'
]);

$to_validate = $this->request->getPost();
foreach ($to_validate['array1'] as $key => $value) {
$validation->setRule('array1.' . $key , null, 'required|numeric');
}

if (! $validation->withRequest($this->request)->run()) {
return $this->failValidationErrors($validation->getErrors());
}
< /code>
Этот код успешно отклоняет значение «ABCD», но как мне отклонить строковую клавишу? в их собственном массиве, который может быть подтвержден с помощью массива2.* Правило. проверить?

Подробнее здесь: https://stackoverflow.com/questions/794 ... tive-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»