/** * Validates a dataset * * @param [] $data * * @throws InvalidArgumentException */ public function validate(array $data) { $result = $this->validator->run($data); if ($result->isValid() === false) { $error = $result->getErrors(); $error = reset($error); throw new InvalidArgumentException($error); } }
public function testValidateFieldWithEmptyString() { $this->object->addField('tel_no')->number(); $data = array('tel_no' => ''); $result = $this->object->run($data); $this->assertTrue($result->isValid()); $data = array('tel_no' => '0'); $result = $this->object->run($data); $this->assertTrue($result->isValid()); }
public function testNestedValidatorFailure() { $validator = new Validator(); $validator->addField('test')->maxLength(5); $this->object->addField('child')->validator($validator); $this->object->addField('foobar')->required(); $result = $this->object->run(['foobar' => 'test', 'child' => ['test' => '1234567890']]); $this->assertFalse($result->isValid()); $this->assertEquals(['foobar'], $result->getValidated()); $this->assertEquals(['child.test' => 'The field is longer than the allowed maximum length.'], $result->getErrors()); }
$heading = $params->get('heading', false); $subHeading = $params->get('subheading', false); } // Check for post data if ($post = JRequest::getVar('query', false, 'post')) { // Check honeypot if (!empty($_POST['birthday'])) { return true; } // Validate $val = new Validator(); $val->addField('name')->required(); $val->addField('number')->required()->number(); $showSuburb ? $val->addField('suburb')->required() : null; $showProvince ? $val->addField('province')->required() : null; $result = $val->run($post); if ($result->isValid()) { // Save data and check token if (QueryHelperDatabase::save($post)) { // Email data QueryHelperMailer::send($params, $post); // We done print '<div class="ui message"><i class="ui circular checkmark icon"></i>Sent successfully, we will be in touch.</div>'; // Dont show the formn return null; } // Message //JFactory::getApplication()->enqueueMessage('Please check that all required fields have been completed.', 'success'); } } // Display data