0
當我設法使用Laravel驗證模塊在我的項目是這樣的:沒有錯誤消息文本使用Laravel驗證模塊
<?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)
我缺少什麼?