本文整理汇总了PHP中Zend\Form\Fieldset::setUseAsBaseFieldset方法的典型用法代码示例。如果您正苦于以下问题:PHP Fieldset::setUseAsBaseFieldset方法的具体用法?PHP Fieldset::setUseAsBaseFieldset怎么用?PHP Fieldset::setUseAsBaseFieldset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Form\Fieldset
的用法示例。
在下文中一共展示了Fieldset::setUseAsBaseFieldset方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Class constructor.
*
* @param ProjectService $projectService
* @param WorkpackageService $workpackageService
*/
public function __construct(ProjectService $projectService, WorkpackageService $workpackageService)
{
parent::__construct();
$this->setAttribute('method', 'post');
$this->setAttribute('class', 'form-horizontal');
$fieldSet = new Fieldset('effortPerAffiliationAndYear');
foreach ($workpackageService->findWorkpackageByProjectAndWhich($projectService->getProject()) as $workpackage) {
$workpackageFieldSet = new EffortPerWorkpackageAndAffiliationFieldset($workpackage, $projectService);
$fieldSet->add($workpackageFieldSet);
}
$fieldSet->setUseAsBaseFieldset(true);
$this->add($fieldSet);
$this->add(['type' => 'Zend\\Form\\Element\\Submit', 'name' => 'submit', 'attributes' => ['class' => "btn btn-primary", 'value' => _("txt-update-planned-versus-spent")]]);
}
示例2: testElementInAFieldsetForSomeModel
public function testElementInAFieldsetForSomeModel()
{
$element = $this->getMoneyFieldset();
$element->init();
$fieldset = new Fieldset('hasMoneyElementFieldset');
$fieldset->add($element, ['name' => 'price']);
$fieldset->setHydrator(new ClassMethods());
$fieldset->setUseAsBaseFieldset(true);
$form = new Form();
$form->add($fieldset);
// todo: can't load this
$form->bind(new HasMoneyPropertyModel());
$data = ['hasMoneyElementFieldset' => ['price' => ['amount' => '500.25', 'currency' => 'BRL']]];
$form->setData($data);
$this->assertTrue($form->isValid());
$amountValue = $form->get('hasMoneyElementFieldset')->get('price')->get('amount')->getValue();
$currencyValue = $form->get('hasMoneyElementFieldset')->get('price')->get('currency')->getValue();
$object = $form->getData();
$this->assertSame('500.25', $amountValue);
$this->assertSame('BRL', $currencyValue);
$this->assertInstanceOf(Money::class, $object->getPrice());
$this->assertSame(50025, $object->getPrice()->getAmount());
$this->assertSame('BRL', $object->getPrice()->getCurrency()->getName());
}
示例3: testHydratorAppliedToBaseFieldset
public function testHydratorAppliedToBaseFieldset()
{
$fieldset = new Fieldset('foobar');
$fieldset->add(new Element('foo'));
$fieldset->setUseAsBaseFieldset(true);
$this->form->add($fieldset);
$this->form->setHydrator(new Hydrator\ArraySerializable());
$baseHydrator = $this->form->get('foobar')->getHydrator();
$this->assertInstanceOf('Zend\\Stdlib\\Hydrator\\ArraySerializable', $baseHydrator);
}
示例4: testApplyObjectInputFilterToBaseFieldsetAndApplyValidationGroup
public function testApplyObjectInputFilterToBaseFieldsetAndApplyValidationGroup()
{
$fieldset = new Fieldset('foobar');
$fieldset->add(new Element('foo'));
$fieldset->setUseAsBaseFieldset(true);
$this->form->add($fieldset);
$this->form->setValidationGroup(array('foobar' => array('foo')));
$inputFilterFactory = new InputFilterFactory();
$inputFilter = $inputFilterFactory->createInputFilter(array('foo' => array('name' => 'foo', 'required' => true)));
$model = new TestAsset\ValidatingModel();
$model->setInputFilter($inputFilter);
$this->form->bind($model);
$this->form->setData(array());
$this->assertFalse($this->form->isValid());
$validSet = array('foobar' => array('foo' => 'abcde'));
$this->form->setData($validSet);
$this->assertTrue($this->form->isValid());
}
示例5: testCanBindObjectMultipleNestedFieldsets
public function testCanBindObjectMultipleNestedFieldsets()
{
$productFieldset = new ProductFieldset();
$productFieldset->setHydrator(new ClassMethods());
$productFieldset->setObject(new Product());
$nestedFieldset = new Fieldset('nested');
$nestedFieldset->setHydrator(new ClassMethods());
$nestedFieldset->setObject(new stdClass());
$nestedFieldset->add(array('name' => 'products', 'type' => 'Collection', 'options' => array('target_element' => $productFieldset, 'count' => 2)));
$mainFieldset = new Fieldset('main');
$mainFieldset->setUseAsBaseFieldset(true);
$mainFieldset->setHydrator(new ClassMethods());
$mainFieldset->setObject(new stdClass());
$mainFieldset->add(array('name' => 'nested', 'type' => 'Collection', 'options' => array('target_element' => $nestedFieldset, 'count' => 2)));
$form = new Form();
$form->setHydrator(new ObjectPropertyHydrator());
$form->add($mainFieldset);
$market = new stdClass();
$prices = array(100, 200);
$products[0] = new Product();
$products[0]->setPrice($prices[0]);
$products[1] = new Product();
$products[1]->setPrice($prices[1]);
$shop[0] = new stdClass();
$shop[0]->products = $products;
$shop[1] = new stdClass();
$shop[1]->products = $products;
$market->main = $shop;
$form->bind($market);
//test for object binding
foreach ($form->get('main')->getFieldsets() as $_fieldset) {
foreach ($_fieldset->getFieldsets() as $_nestedfieldset) {
$this->assertInstanceOf('ZendTest\\Form\\TestAsset\\Entity\\Product', $_nestedfieldset->get('products')->getObject());
}
}
}