function it_binds_validator(Request $request, Validator $validator, ElementInterface $textElement) { $request->get(DeForm::DEFORM_ID)->willReturn('testform'); $request->get('foo')->willReturn('test'); $textElement->getValidationRules()->willReturn('required'); $textElement->isReadonly()->willReturn(false); $textElement->setValue('test')->willReturn(false); $textElement->getValue()->willReturn('test'); $validator->validate(['foo' => 'required'], Argument::any())->shouldBeCalled(); $validator->updateValidationStatus(Argument::any())->shouldBeCalled(); $this->make($this->html)->isValid(); }
function it_should_validate_data_and_return_fail(ValidatorFactoryInterface $factory, ValidatorInterface $validator, ElementInterface $el) { $rules = ['foo' => 'required']; $values = ['foo' => '']; $errors = ['foo' => ['Foo element is required.']]; $elements = ['foo' => $el]; $factory->make($rules)->willReturn($validator); $validator->validate($values)->willReturn(false); $validator->getMessages()->willReturn($errors); $el->getName()->willReturn('foo'); $el->setInvalid(json_encode($errors['foo']))->shouldBeCalled(); $this->validate($rules, $values)->shouldReturn(false); $this->updateValidationStatus($elements); }
function it_should_fill_the_form(Request $request, Element $el1, Element $el2) { $request->get(DeForm::DEFORM_ID)->willReturn('foo'); $request->get('field_1')->willReturn('bar'); $request->get('field_2')->willReturn(42); $el1->getName()->willReturn($field_1 = 'field_1'); $el1->isReadonly()->willReturn(false); $el1->setValue('bar')->shouldBeCalled(); $el2->getName()->willReturn($field_2 = 'field_2'); $el2->isReadonly()->willReturn(false); $el2->setValue(42)->shouldBeCalled(); $this->addElement($el1); $this->addElement($el2); $el1->setValue($new_value_field_1 = 'first')->shouldBeCalled(); $el2->setValue($new_value_field_2 = 'second')->shouldBeCalled(); $this->fill([$field_1 => $new_value_field_1, $field_2 => $new_value_field_2]); }
/** * Returns true if the element's value should be set. * * @param \DeForm\Element\ElementInterface $element * @param string $value * @return bool */ protected function canSetElementValue(ElementInterface $element, $value) { if (false === $this->isSubmitted()) { return false; } if (null === $value) { return false; } if (true === $element->isReadonly()) { return false; } return true; }