【问题标题】:Access validator messages in controller Laravel 4在控制器 Laravel 4 中访问验证器消息
【发布时间】:2013-12-17 00:52:32
【问题描述】:

我正在尝试使用以下代码从控制器中的验证器访问消息。

    $valid = Validator::make($input,$rules);
    print_r($valid->messages());

但是,即使验证是 failing,我也没有得到任何输出。

我需要做什么才能获得 Laravel 生成的验证消息?

【问题讨论】:

  • 奇怪。试试这个 $failed = $valid->failed(); dd($failed);
  • 它应该可以工作。如果没有输出,您确定您的控制器路由配置正确吗?

标签: php validation laravel laravel-4


【解决方案1】:

您需要在检查消息之前运行 $validator->fails() 或 $validator->passes():

$valid = Validator::make($input,$rules);
$validator->fails();
print_r($valid->messages());

但是假设您知道,那么您可能正在使用messages()->all(),但是您正在做的方式应该有效。最后试试这个(独立的)代码:

$validator = Validator::make(
    array('name' => 'Dayle'),
    array('name' => 'required|min:15')
);

if ($validator->fails())
{
    // The given data did not pass validation
}

print_r($validator->messages()->all());

如果它有效,那么问题就出现在您的$input 和/或$rules

【讨论】:

  • 那行得通。问题是我没有先运行 fails() 方法!
猜你喜欢
  • 1970-01-01
  • 2013-02-03
  • 2013-11-05
  • 2013-07-05
  • 2013-10-05
  • 1970-01-01
  • 2013-07-10
  • 2021-11-30
  • 2014-07-25
相关资源
最近更新 更多