Как проверить ввод поля выбора в Laravel4

В настоящее время, когда я хочу проверить поле выбора, мне нужно включить все значения в поле проверки.

public static $rules = array(
    'type' => array('required', 'in:a,b,c,d')
);

есть ли лучший способ сделать это с помощью массива?

например: У меня есть длинный список названий стран и я хочу включить его в список проверки. Хакерский способ сделать это будет что-то вроде:

public static $rules = array(
    'type' => array('required', 'in:'.implode(',', $countries))
);

спасибо

2 ответов


возможен пользовательский, но правило exist также может выполнять эту работу. Подробнее оhttp://laravel.com/docs/validation#rule-exists


создать меню выбора с массивом, как так:

$types = [ ''    => 'select a type',
          'one'  => 'type one',
          'a'    => 'type a' ];

и правила для проверки вот так:

$rules = ['type' => 'required'];

поскольку первый ключ $types является пустой строкой. Вывод такой:

 <option value=''>select a type</option>

при проверке требуемое правило не пройдет проверку.

предполагая, что все параметры в меню выбора являются допустимые варианты.