Since: 2.0
Author: Fuel Development Team
Inheritance: implements Fuel\Validation\ValidatableInterface
Exemplo n.º 1
0
 /**
  * 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));
     }
 }
Exemplo n.º 2
0
 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());
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 5
0
 public function populateValidator(Validator $validator)
 {
     $validator->addField('email', 'Email')->required()->email();
     $validator->addField('name', 'Name')->minLength(1);
 }
Exemplo n.º 6
0
 /**
  * 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);
 }
Exemplo n.º 7
0
$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;
        }
Exemplo n.º 8
0
 /**
  * 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);
         }
     }
 }