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); }
/** * Processes the given field and rules to add them to the validator. * * @param string $field Name of the field to add rules to * @param array $rules Array of any rules to be added to the field * @param Validator $validator Validator object to apply rules to * * @since 2.0 */ protected function addFieldRules($field, $rules, Validator $validator) { $label = null; if (!empty($this->labelKey)) { if (array_key_exists($this->labelKey, $rules)) { $label = $rules[$this->labelKey]; } if (array_key_exists($this->ruleKey, $rules)) { $rules = $rules[$this->ruleKey]; } else { $rules = array(); } } $validator->addField($field, $label); // Add each of the rules foreach ($rules as $ruleName => $params) { $this->addFieldRule($field, $ruleName, $params, $validator); } }
$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; } // Message
/** * 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); } } }