/** * Validates one key-value pair * * @param string $key * @param mixed $value */ public function validateOne($key, $value) { $result = $this->validator->runField($key, array($key => $value)); if ($result->isValid() === false) { throw new InvalidArgumentException($result->getError($key)); } }
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()); }
/** * Creates a new comment validation * * @return Validator */ protected function createCommentValidator() { $validator = new Validator(); $validator->addField('comment', gettext('Comment'))->required(); $validator->addField('internal', gettext('Is internal?')); return $validator; }
public function populateValidator(Validator $validator) { $validator->addField('email', 'Email')->required()->email(); $validator->addField('name', 'Name')->minLength(1); }
/** * Adds an individual rule for the given field to the given validator. * If the $ruleName is numeric the function will assume that $params is the rule name and that there are no * parameters. * * @param string $fieldName * @param string|int $ruleName * @param mixed $params * @param Validator $validator * * @since 2.0 */ protected function addFieldRule($fieldName, $ruleName, $params, Validator $validator) { // If $ruleName is numeric assume that $params is the name and there are no actual parameters if (is_numeric($ruleName)) { $ruleName = $params; $params = []; } // Create and add the rule $ruleInstance = $validator->createRuleInstance($ruleName, $params); $validator->addRule($fieldName, $ruleInstance); }
$showSuburb = $params->get('suburb', false); $showProvince = $params->get('province', false); $showMessage = $params->get('message', false); $showBuySell = $params->get('buysell', false); if ($showHeading = $params->get('heading')) { $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; }
/** * Builds validation for a class * * @param string $class * @param Validator $validator */ public function buildValidation($class, Validator $validator) { $classMetadata = $this->metadataFactory->getMetadataForClass($class); foreach ($classMetadata->propertyMetadata as $propertyMetadata) { $validator->addField($propertyMetadata->name, $propertyMetadata->label); foreach ($propertyMetadata->rules as $name => $arguments) { if (is_int($name)) { $name = $arguments; $arguments = []; } $rule = $validator->createRuleInstance($name, [$arguments]); $validator->addRule($propertyMetadata->name, $rule); } } }