/** * Конструктор формы. * * Параметр $fields - ассоциативный массив, где индексы являются именами полей, * а значения - array с правилами валидации поля. (@see \softrock\form\AbstractStaticForm::getRules) * * @param array $fields * @param array $data */ public function __construct($fields, $data = []) { $this->_fields = array_keys($fields); foreach ($fields as $name => $options) { $this->_validators[$name] = ValidatorsFactory::create(array_shift($options), $options); $this->_data[$name] = null; } $this->setData($data); }
public function __construct($data = []) { $fields = $this->getData(); foreach ($this->getRules() as $field => $options) { if (!array_key_exists($field, $fields)) { throw new InvalidFormFieldException("Не найдено поле {$field}"); } else { $this->_validators[$field] = ValidatorsFactory::create(array_shift($options), $options); } } $this->setData($data); }