Я использую Zend Framework 1.12.3 для разрабатываемого мной проекта.

Я использую ввод фильтра и мне нужно убедиться, что значение находится в пределах определенных значений (ENUM). (например, частота должна быть мгновенной, ежедневной или еженедельной).

Как я могу этого добиться?

Благодарность

2
Daniel 10 Мар 2014 в 17:52

2 ответа

Лучший ответ

Лично я бы использовал валидатор для этого

  $validator = new Zend_Validate_InArray(array('ENUM1' => 'value 1',
                                               'ENUM2' => 'value 1',
                                               'ENUM3' => 'value 3'));
   $element->addValidator($validator);
5
doydoy44 10 Мар 2014 в 19:50
Я использовал это решение. Спасибо !
 – 
Daniel
12 Мар 2014 в 15:30
@Daniel: Добро пожаловать! :)
 – 
doydoy44
12 Мар 2014 в 17:06

Если я правильно вас понял, вы можете выглядеть примерно так: - Вы можете использовать валидаторы формы ввода, если значение должно быть среди определенного значения.

// создаем ввод текста для возраста // должен содержать только целочисленные значения от 1 до 100

$age = new Zend_Form_Element_Text('age');
$age  ->setLabel('Age:')
      ->setOptions(array('size' => '4'))
      ->setRequired(true)
      ->addValidator('Int')  //must be an Integer
      ->addValidator('Between', false, array(1,100)); //from 1 to 100

То же самое, но только с использованием класса Zend_Validate.

// create text input for age
// should contain only integer values between 1 and 100


 $age = new Zend_Form_Element_Text('age');
 $age->setLabel('Age:')
    ->setOptions(array('size' => '4'))
    ->setRequired(true)
    ->addValidator(new Zend_Validate_Int())
    ->addValidator(new Zend_Validate_Between(1,100));
0
Mubo 11 Мар 2014 в 02:06