php - Laravel 验证 json 数据

标签 php json laravel laravel-4 laravel-validation

在此代码中,我尝试验证 json 数据,但验证器返回 false

        $username = $data['username'];
        $password = $data['password'];

        $input = Input::json();
        $rules = array(
            'username' => 'required',
            'password' => 'required',
        );
        $input_array = (array)$input;
        $validation = Validator::make($input_array, $rules);
        if ($validation->fails()) {
            var_dump( $input_array );
        }else {
                $result = array('code'=>'3');
            }

var_dump 结果是:

array(1) {  ["parameters"]=>  array(3) {    ["password"]=>    string(9) "world"    ["username"]=>    string(1) "hello"    ["function"]=>    string(8) "register"  }}""

用户名和密码不为空,并且$validation必须返回true。但返回 false

最佳答案

您的 var_dump 显示您尝试验证的数据位于“参数”数组内。您要么需要更改规则以包含参数,要么需要将参数数组传递给验证方法。

选项 1 - 更改规则:

$rules = array(
    'parameters.username' => 'required',
    'parameters.password' => 'required',
);
$input_array = (array)$input;
$validation = Validator::make($input_array, $rules);

选项 2 - 验证参数数组中的数据:

$rules = array(
    'username' => 'required',
    'password' => 'required',
);
$input_array = (array)$input;
$validation = Validator::make($input_array['parameters'], $rules);

关于php - Laravel 验证 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257165/

相关文章:

json - 使用来自 API 的 JSON 数据的 D3 线图

java - 写入已初始化的二维数组时出现异常

php - %LIKE% 检索例如。调用 MEN 时的 WOMEN DATA

php - MySQL datetime 如何用 php 设置它

php - 选择与特定值匹配的所有列,该值可以为空

Javascript:如何在响应字符串解析中处理 syntaxError

javascript - 如何将数据表 jQuery 与 ajax 结合使用?

php - 我想在 Laravel 的一张表中将一行复制到 365 行

php - 如何连接多个表以根据给定条件获取结果?

php - 为什么PDO不显示任何结果?