Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改laravel中验证错误的键_Php_Laravel_Validation - Fatal编程技术网

Php 如何更改laravel中验证错误的键

Php 如何更改laravel中验证错误的键,php,laravel,validation,Php,Laravel,Validation,我对laravel不熟悉,也不熟悉api,我已经制作了一个api,在其中我实现了验证。一切都很好,但我被一件小事缠住了。我想更改验证错误中的密钥名称。例如,“唯一”验证错误。这就是现在所展示的 我想将“email”(文本)键重命名为“message”(文本) 我在illumb/support/validation.php中尝试了很多东西 messagebag.php文件,但如果它发生更改,则错误显示为“数据未定义” 我下面的链接是 这是验证代码 $validator = Validato

我对laravel不熟悉,也不熟悉api,我已经制作了一个api,在其中我实现了验证。一切都很好,但我被一件小事缠住了。我想更改验证错误中的密钥名称。例如,“唯一”验证错误。这就是现在所展示的

我想将“email”(文本)键重命名为“message”(文本)

我在illumb/support/validation.php中尝试了很多东西

messagebag.php文件,但如果它发生更改,则错误显示为“数据未定义”

我下面的链接是

这是验证代码

$validator = Validator::make($request->all(), [ 
      'first_name' => 'required',
      'last_name' => 'required',
      'email' => 'required|email|unique:users',
      'fcm_token' => 'required',
      'password' => 'required',  
      'c_password' => 'required|same:password' 
    ]); 

在幼虫中,你可以使用这个

'email'=>'required|email'

在幼虫中,你可以使用这个

'email'=>'required|email'

您可以手动循环错误消息包并构造响应以替换密钥

    $validator = Validator::make($request->all(), [ 
      'first_name' => 'required',
      'last_name'  => 'required',
      'email'      => 'required|email|unique:users',
      'fcm_token'  => 'required',
      'password'   => 'required',  
      'c_password' => 'required|same:password' 
    ]);   

    $errors = [];
    foreach ($validator->errors()->messages() as $key => $value) {
        if($key == 'email')
            $key = 'message';
        $errors[$key] = is_array($value) ? implode(',', $value) : $value;
        //implode is for when you have multiple errors for a same key
        //like email should valid as well as unique
    }

    $result = array("status" => count($errors)?0:1, 'data'=>$errors);
    return $result;

您可以手动循环错误消息包并构造响应以替换密钥

    $validator = Validator::make($request->all(), [ 
      'first_name' => 'required',
      'last_name'  => 'required',
      'email'      => 'required|email|unique:users',
      'fcm_token'  => 'required',
      'password'   => 'required',  
      'c_password' => 'required|same:password' 
    ]);   

    $errors = [];
    foreach ($validator->errors()->messages() as $key => $value) {
        if($key == 'email')
            $key = 'message';
        $errors[$key] = is_array($value) ? implode(',', $value) : $value;
        //implode is for when you have multiple errors for a same key
        //like email should valid as well as unique
    }

    $result = array("status" => count($errors)?0:1, 'data'=>$errors);
    return $result;
在resources-lang-en(或任何Langauge)-validation.php中

将此代码放在底部:

'attributes' => [
    'email' => 'The Email', 
],
在resources-lang-en(或任何Langauge)-validation.php中

将此代码放在底部:

'attributes' => [
    'email' => 'The Email', 
],

如果我能很好地理解这个问题。这将帮助您:

就你而言:

'email' => 'required|email|unique:users,message'
唯一:表、列、除、idColumn


希望能有帮助。

如果我能很好地理解这个问题。这将帮助您:

就你而言:

'email' => 'required|email|unique:users,message'
唯一:表、列、除、idColumn



希望有帮助。

您应该至少添加一个您尝试过的代码,以便人们可以在该代码上帮助您,您的问题似乎要求人们猜测您的代码和设置,并编写完整的代码。您为什么“需要”这个?如果要验证的字段超过1个,则该操作将无效。@Qirel我想在响应中重命名该键。我不想验证两个字段。@Dilek如果您不清楚我的问题,请告诉我。我不是要剧本。我在问做这件事的方法。我在相同的文件中尝试了相同的代码,这些文件在提供的链接中也提到过。我想用“message”(text)重命名“email”(text)键,但我不明白它的用途,索引是无效字段的名称--为什么需要更改它?我的观点是,如果某一点变成超过1个字段,你将无法区分哪个消息属于哪个字段。你应该至少添加一个你尝试过的代码,这样人们就可以在代码上帮助你,你的问题似乎是让人们猜测你的代码和设置,然后编写完整的代码。你到底为什么“需要”呢这如果要验证的字段超过1个,则该操作将无效。@Qirel我想在响应中重命名该键。我不想验证两个字段。@Dilek如果您不清楚我的问题,请告诉我。我不是要剧本。我在问做这件事的方法。我在相同的文件中尝试了相同的代码,这些文件在提供的链接中也提到过。我想用“message”(text)重命名“email”(text)键,但我不明白它的用途,索引是无效字段的名称--为什么需要更改它?我的观点是,如果有一个点变成了超过1个字段,你将无法区分哪个消息属于哪个字段。“我想用“message”替换“email”键。“email”如何将
email
更改为
message
?@kerbholz编辑的问题我想用“message”(text)重命名“email”(text)键@dev:我知道,我就是这么说的。Netwons代码不执行任何与this@kerbholz是的,你有什么想法吗?“我想把“email”键改为“message”“这是如何将
email
改为
message
?@kerbholz编辑的问题我想用“message”(text)重命名“email”(文本)键@dev:我知道,这就是我刚才说的。Netwons代码不执行任何与this@kerbholz是的,你知道吗?当email字段为空时,程序将无法访问该方法。它直接显示来自验证异常。我已经尝试过了。哦,这意味着验证正在其他地方运行,但很难猜测信息可用的位置。当电子邮件字段为空时,程序无法访问该方法。它直接从验证异常中显示。我已经尝试过了。哦,这意味着验证正在其他地方运行,但很难猜测可用信息的位置