Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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 5.2看起来很奇怪:方法[validateNickName]不存在_Php_Laravel 5 - Fatal编程技术网

Php Laravel 5.2看起来很奇怪:方法[validateNickName]不存在

Php Laravel 5.2看起来很奇怪:方法[validateNickName]不存在,php,laravel-5,Php,Laravel 5,版本:Laravel 5.2 问题: BadMethodCallException in Validator.php line 3295: Method [validateNickName] does not exist. in Validator.php line 3295 at Validator->__call('validateNickName', array('nick_name', 'chenmin', array(), object(Validator))) in Valid

版本:Laravel 5.2

问题:

BadMethodCallException in Validator.php line 3295:
Method [validateNickName] does not exist.
in Validator.php line 3295
at Validator->__call('validateNickName', array('nick_name', 'chenmin', array(), object(Validator))) in Validator.php line 485
at Validator->validateNickName('nick_name', 'chenmin', array(), object(Validator)) in Validator.php line 485
at Validator->validate('nick_name', 'nick_name') in Validator.php line 425
at Validator->passes() in Validator.php line 450
at Validator->fails() in ValidatesRequests.php line 53
at Controller->validate(object(Request), array('nick_name' => 'required|nick_name|unique:users|max:30', 'cellphone' => 'required|cellphone|unique:users|numeric|phone_number|size:11', 'captcha' => 'required|numeric|size:6', 'password' => 'required|min:6|max:30')) in UserController.php line 19
at UserController->postSignUp(object(Request))
at call_user_func_array(array(object(UserController), 'postSignUp'), array(object(Request))) in Controller.php line 80
at Controller->callAction('postSignUp', array(object(Request))) in ControllerDispatcher.php line 146
at ControllerDispatcher->call(object(UserController), object(Route), 'postSignUp') in ControllerDispatcher.php line 94
at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 96
at ControllerDispatcher->callWithinStack(object(UserController), object(Route), object(Request), 'postSignUp') in ControllerDispatcher.php line 54
at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\UserController', 'postSignUp') in Route.php line 174
at Route->runController(object(Request)) in Route.php line 140
at Route->run(object(Request)) in Router.php line 724
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 64
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 726
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 54
源代码:

namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class UserController extends Controller
{   
    public function postSignUp(Request $request)
    {
        $this->validate($request, [
                'nick_name' => 'required|nick_name|unique:users|max:30',
                'cellphone' => 'required|cellphone|unique:users|numeric|phone_number|size:11',
                'captcha'   => 'required|numeric|size:6',           
                'password'  => 'required|min:6|max:30'

        ]);
.......

当我测试来自的输入时,遇到了一个奇怪的问题:Validator.php行3295中的BadMethodCallException:方法[validateNickName]不存在


谁能帮我解决这个问题?非常感谢

我认为这是因为您使用snake_case作为nick_name,而验证器不知何故认为您正在调用一个名为昵称的自定义验证规则(当调用助手时,Laravel总是将snake_case转换为camelCase)。。。你为什么要叫尼克的名字?在英语中,我认为只有一个词…

我认为这是因为您使用snake\u case作为nick\u名称,并且不知何故,验证程序认为您正在调用一个名为昵称的自定义验证规则(当调用助手时,Laravel的一些片段总是将snake\u case转换为camelCase)。。。你为什么要叫尼克的名字?在英语中,我认为只有一个单词…

nickn\u name
cell\u phone
phone\u number
不是验证规则吗? 因此不能将它们放入规则字符串中。您的验证规则应如下所示:

$this->validate($request, [
        'nick_name' => 'required|unique:users|max:30',
        'cellphone' => 'required|unique:users|numeric|size:11',
        'captcha'   => 'required|numeric|size:6',           
        'password'  => 'required|min:6|max:30'
]);

nickn\u name
cell\u phone
phone\u number
不是验证规则吗? 因此不能将它们放入规则字符串中。您的验证规则应如下所示:

$this->validate($request, [
        'nick_name' => 'required|unique:users|max:30',
        'cellphone' => 'required|unique:users|numeric|size:11',
        'captcha'   => 'required|numeric|size:6',           
        'password'  => 'required|min:6|max:30'
]);

从验证参数中删除
nick\u name
。除非您扩展了验证器并添加了自己的验证,否则它将不存在。手机也是如此。非常感谢您从验证参数中删除尼克的名字。除非您扩展了验证器并添加了自己的验证,否则它将不存在。手机也是如此。非常感谢“手机”的问题。巴伦你是对的,他不应该把它们放在“手机”的问题后面。巴伦你是对的,他不应该把它们放在“手机”的问题后面。如果这解决了你的问题,别忘了批准答案。欢迎你。如果这解决了你的问题,别忘了批准答案。