我对laravel 4验证后如何在错误消息中管理数据库字段名称提出了一些疑问。
为了验证表格,我使用了如下的口才:
public static function validate($input)
{
$validation = array(
'rules' => array(
'title' => 'required|min:5'
),
'messages' => array(
'title.required' => 'Inserer un titre!'
)
);
return Validator::make($input, $validation['rules'], $validation['messages']);
}
要翻译错误消息,我使用了这个github repo:https://github.com/caouecs/Laravel4-lang
每件事都很好地执行了属性(db列)名称的翻译。我不知道怎么做,有什么建议吗?
fr : Le texte **title** doit contenir au moins 5 caractères.
en : The **title** must be at least 5 characters.
(每种情况下标题都保留英文。)
答案 0 :(得分:1)
有两种方法可以为验证错误消息提供自定义字段名称。
首先使用语言配置文件app / lang / LANG / validation.php
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => array('foo' => 'Bar'),
这将为foo字段生成验证错误,例如“The Bar must be ...”而不是“foo必须......”。
第二种方式没有记录。您可以使用Validator类的setAttributeNames()方法在运行时提供自定义数组:
$validator = Validator::make($input, $rules, $messages);
$validator->setAttributeNames(array('foo' => 'Bar'));
if ($validator->passes())
...