Имеется элемент, у которого по умолчанию (allow_empty == true):
namespace Application\Form\Element\Text;
use Zend\Form\Element\Text;
use Zend\InputFilter\InputProviderInterface;
use Zend\Validator\NotEmpty;
class Login extends Text implements InputProviderInterface
{
public function getInputSpecification()
{
return array(
'name' => 'login',
'required' => true,
'allow_empty' => true,
'validators' => array(
array(
'name' => 'notEmpty',
),
),
);
}
}
Создавая форму с этим элементом с помощью фабрики, требуется задать (allow_empty == false). Единственный способ, который я нашёл, требует знать имя элемента, и этим не устраивает:
$form = $factory->createForm(array(
'elements' => array(
array(
'spec' => array(
'type' => 'Application\Form\Element\Text\Login',
),
),
),
'input_filter' => array(
array(
'name' => 'login',
'allow_empty' => false,
),
),
));
Вот такой способ почему-то не работает так, как задумано:
$form = $factory->createForm(array(
'elements' => array(
array(
'spec' => array(
'type' => 'Application\Form\Element\Text\Login',
'allow_empty' => false,
),
),
),
));