Esempio n. 1
0
 /**
  * Returns the error message.
  *
  * @access  protected
  * @param   string     $field       Field name
  * @param   string     $package     Package name
  * @param   string     $validator   Validator name
  * @param   array      $parameters  Validator parameters
  * @return  string
  */
 protected function getErrorMessage($field, $package, $validator, $parameters)
 {
     $package = empty($package) ? '' : $package . '::';
     // We have a i18n instance so we can return a propper error message
     if ($this->i18n->has($package . 'validate.overrides.messages.' . $field . '.' . $validator)) {
         // Return custom field specific error message from the language file
         return $this->i18n->get($package . 'validate.overrides.messages.' . $field . '.' . $validator, array_merge([$field], $parameters));
     } else {
         // Try to translate field name
         $translateFieldName = function ($field) use($package) {
             if ($this->i18n->has($package . 'validate.overrides.fieldnames.' . $field)) {
                 $field = $this->i18n->get($package . 'validate.overrides.fieldnames.' . $field);
             } else {
                 $field = str_replace('_', ' ', $field);
             }
             return $field;
         };
         if (in_array($validator, ['match', 'different'])) {
             $field = [$translateFieldName($field), $translateFieldName(array_shift($parameters))];
         } else {
             $field = $translateFieldName($field);
         }
         // Return default validation error message from the language file
         return $this->i18n->get($package . 'validate.' . $validator, array_merge((array) $field, $parameters));
     }
 }
Esempio n. 2
0
 /**
  *
  */
 public function testHas()
 {
     $loader = $this->getLoader();
     $loader->shouldReceive('loadStrings')->once()->with('en_US', 'foo')->andReturn($this->strings['foo']);
     $loader->shouldReceive('loadStrings')->once()->with('en_US', 'bar')->andReturn($this->strings['bar']);
     $loader->shouldReceive('loadStrings')->once()->with('en_US', 'baz::baz')->andReturn($this->strings['baz::baz']);
     $i18n = new I18n($loader, 'en_US');
     $this->assertTrue($i18n->has('foo.foo'));
     $this->assertTrue($i18n->has('bar.bar'));
     $this->assertTrue($i18n->has('baz::baz.baz'));
     $this->assertFalse($i18n->has('foo.nope'));
     $this->assertFalse($i18n->has('bar.nope'));
     $this->assertFalse($i18n->has('baz::baz.nope'));
 }