Laravel 10 Illuminate\Validation\Validator::validatePhone 不存在

问题描述 投票:0回答:1

我正在尝试使用 laravel 10 制作 Auth API。在 API 中,我希望用户使用电子邮件或电话号码进行注册,但登录时我只想使用电话号码。

所以,我在注册和登录表单中使用了这种方法,但是当我在邮递员中测试它时,我收到此错误:

错误“BadMethodCallException:方法 Illuminate\Validation\Validator::validatePhone 不存在。”

API控制器

// Register API (POST, formdata)
public function register(Request $request){

    // data validation
    $request->validate([
        "name" => "required",
        "email" => "email|unique:users",
        "phone" => "required|phone:ML",
        "password" => "required|confirmed"
    ]);

    // Author model
    User::create([
        "name" => $request->name,
        "email" => $request->email,
        "phone" => $request->phone,
        "password" => Hash::make($request->password)
    ]);

    // Response
    return response()->json([
        "status" => true,
        "message" => "User created successfully"
    ]);
}

// Login API (POST, formdata)
public function login(Request $request){

    // Data validation
    $request->validate([
        //"email" => "required|email",
        "phone" => "required|phone:ML",
        "password" => "required"
    ]);

    // Auth Facade
    if(Auth::attempt([
        //"email" => $request->email,
        "phone" => $request->phone,
        "password" => $request->password
    ])){

        $user = Auth::user();

        $token = $user->createToken("myToken")->accessToken;

        return response()->json([
            "status" => true,
            "message" => "Login successful",
            "access_token" => $token
        ]);
    }

    return response()->json([
        "status" => false,
        "message" => "Invalid credentials"
    ]);
}
php mysql laravel api laravel-10
1个回答
0
投票

我正在关注论坛帖子进行电话验证,他们使用这个

$request->validate([ // Allow only phone numbers from the FR 'phone_number' => 'required|phone:FR', ]);

所以我尝试将它与马里代码女巫的ML集成

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.