/** * @covers Form::hasErrors */ public function testHasErrors() { $this->assertFalse($this->myForm->hasErrors()); $textBox = $this->myForm->textbox('text_input'); $this->myForm->addFieldError('text_input', 'Required input'); $this->assertTrue($this->myForm->hasErrors()); }
public function scanCodeLoginAction() { $form = new Form(['scanCode' => null]); if ($form->wasSent()) { $form->scanCode->hasValue('Bitte scannen Sie einen validen Code ein')->validate($this->db->hasUserByScanCode($form->scanCode->getString()), 'Der übergebene Scan Code ist keinem Benutzer zugeordnet'); if (!$form->hasErrors()) { $user = $this->db->getUserByScanCode($form->scanCode->getString()); $_SESSION['userId'] = intval($user->id); return ['success' => true, 'user' => ['name' => $user->name, 'scanCode' => $user->scan_code], 'errors' => []]; } } return ['success' => false, 'errors' => $form->getErrors(true)]; }
static function dumpErrors(Form $form) { if (!$form->hasErrors()) { return ''; } $s = '<ul>'; foreach ($form->getErrors() as $id => $error) { $s .= '<li>' . $id . ': ' . $error . '</li>'; } foreach ($form->getControls() as $control) { $s .= self::dumpControlError($control); } $s .= '</ul>'; return $s; }
public function testIgnoreExtraneous() { $values = array('a' => 1, 'b' => 2); $form = new Form(array('a' => array('required'))); $this->assertTrue($form->validate($values)); $this->assertEquals($values['a'], $form->a); $this->assertNull($form->b); $form->setValues(array()); $this->assertFalse($form->validate($values, array('ignore_extraneous' => false))); $this->assertTrue($form->hasErrors('b')); $form->setValues(array()); $form->setOptions(array('ignore_extraneous' => false)); $this->assertFalse($form->validate($values)); $this->assertTrue($form->hasErrors('b')); $form->setValues(array('c' => 3)); $form->setOptions(array('ignore_extraneous' => false)); $this->assertTrue($form->validate(array('a' => 1)), 'Ignore extraneous default'); }