Проверка подмассивов с помощью Respect / Validation?

Я использовал Уважение / Validation успешно для моей общей заботы.

Но теперь я проверяю некоторую форму ввода, где пользователь может установить несколько флажков и данные отправляются с массивом.
Форма выглядит примерно так:

<form method="post" action="">
<input type="text" name="firstname">
<input type="text" name="lastname">

<input type="checkbox" name="options[]" value="1">
<input type="checkbox" name="options[]" value="2">
<input type="checkbox" name="options[]" value="3">

<button type="submit">Send</button>
</form>

Итак, мои пост-данные будут выглядеть так:

Array
(
[firstname] => Peter
[lastname] => Parker
[options] => Array
(
[0] => 1
[1] => 3
)
)

Я построил правило проверки, которое работает:

<?php
//used in class, so "use Respect\Validation\Validator AS v;"
$validReq = v::create()
->key('firstname', v::stringType()->length(1, 32))
->key('lastname', v::stringType()->length(1, 32))
->key('options', v::optional(v::arrayType()))
->setName('valid request');

Мой вопрос сейчас, как мне проверить массив options с (например) v::intVal()?

Может быть, я только что видел, как это сделать. Спасибо за ваше время.

Ура,
Patrik

1

Решение

Решено с помощью Alganet в GitHub.

Это может быть достигнуто с помощью каждый ():

<?php
$validReq = v::create()
->key('firstname', v::stringType()->length(1, 32))
->key('lastname', v::stringType()->length(1, 32))
->key('options', v::optional(v::arrayType()->each(v::intVal())))
->setName('valid request');

Ура,
Patrik

1

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

Других решений пока нет …

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