Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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]);
 }
Exemplo n.º 4
0
 /**
  * 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;
 }