2015-09-27 4 views
0

Я не удается использовать модуль Laravel Validation в моем проекте, как это:Сообщение об ошибке текста при использовании модуля Laravel Validator

<?php 

namespace Models; 

use Illuminate\Database\Eloquent\Model as eModel; 
use Illuminate\Validation\Factory as ValidatorFactory; 
use Symfony\Component\Translation\Translator; 

class AbstractModel extends eModel { 



public function validate($data) 
{ 

    $factory = new ValidatorFactory(new Translator('en')); 
    $v = $factory->make($data, $this->rules); 

    return $v; 
} 

public function save() { 

    $validator = $this->validate($this->toArray()); 

    if(!$validator->passes()) 
    { 
     $messages = $validator->messages(); 
     print_r($messages); 
     die(); 
    } 

    parent::save(); 
} 

}

Если я обед, который я получаю выход последующих:

Illuminate\Support\MessageBag Object ([messages:protected] => Array ([email] => Array ([0] => validation.required)) [format:protected] => :message) 

«validation.required»

Я не знаю, почему модуль не получает де строки ошибки ошибки. Im уверен, что модуль работает нормально, потому что если я пытаюсь определить некоторые пользовательские строку, как это:

$message = array(
     'unique' => 'FOO', 
     'email' => ':attribute WORNG!!!!!', 
     'required' => ':attribute MUST WRITE EMAIL!!!!' 
    ); 
    $factory = new ValidatorFactory(new Translator('en')); 
    $v = $factory->make($data, $this->rules, $message); 

Я получаю результат:

Illuminate\Support\MessageBag Object ([messages:protected] => Array ([email] => Array ([0] => email MUST WRITE EMAIL!!!!)) [format:protected] => :message) 

Что я упускаю?

ответ

0

Возможно, для перевода требуется местонахождение 'en_US'

Смежные вопросы