自定义阵列验证 - Lumen

Posted

技术标签:

【中文标题】自定义阵列验证 - Lumen【英文标题】:Validation on custom array - Lumen 【发布时间】:2015-09-15 12:17:21 【问题描述】:

如何在 Lumen 框架中对自定义数组进行验证。例如:

示例数组:

$params   = array('name' => 'john', 'gender' => 'male');

我尝试过类似的方法,但没有成功:

$validator = Validator::make($params, [
                                       'name' => 'required',
                                       'gender' => 'required'
                            ]);

if ($validator->fails()) 

         $messages = $validator->errors();
         $message   = $messages->first();
         echo $message;
         exit;

【问题讨论】:

在什么方面不起作用?你能详细说明一下吗?有没有错误? $message 没有输出吗?你从 print_r($messages); 得到什么?当你传递无效数据时? 它不执行任何验证。它绕过代码 当你传递一个空字符串数组时?和print_r($messages);die() 没有输出? 何时通过:$params = array('name' => '', 'gender' => '');它不验证。在这种情况下,它应该验证名称 我不确定我知道问题出在哪里,如果我将您的代码粘贴到 laravel 的全新安装中,它会按预期工作。您能否更新问题以更清楚地描述您遇到的问题? 【参考方案1】:

验证正在通过,因为这些字段实际上存在。使用 minmaxsize 之类的东西来验证字符串的长度。

http://lumen.laravel.com/docs/validation#rule-required

编辑

我的立场是正确的。 required 实际上似乎确实验证了它是否包含任何内容。

更新

澄清;如果验证通过,则应该在$validator->fails()永远运行时运行的代码。

【讨论】:

以上是关于自定义阵列验证 - Lumen的主要内容,如果未能解决你的问题,请参考以下文章

流明自定义验证

Auth 尝试方法在 Laravel/Lumen + JWT + 用户自定义模型中如何工作

lumen 下使用自定义配置文件

Lumen/Laravel - 使用自定义路由器

Lumen 中的自定义 404 页面

在 Lumen 中创建自定义错误页面