每当验证失败时,我都会得到未找到错误,而我应该得到验证错误。有人可以告诉我我在做什么错吗?当所有输入都可用时,下面的代码可以完美执行。
这是我的路线/api.php
Route::group(['middleware' => 'auth:api'], function() {
Route::post('/change-password', 'API\AuthController@changePassword');
}
这是我的控制器
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;
class AuthController extends Controller {
public function changePassword(Request $request) {
$rules = [
'old_password' => 'required',
'new_password' => 'required|min:6',
'confirm_password' => 'required|same:new_password',
];
$customMessages = [
'required' => 'The :attribute field can not be blank.'
];
$this->validate($request, $rules, $customMessages);
if (! \Hash::check($request->old_password, $request->user()->password)) {
return response()->json([
"message" => "Please check your old password"
], 400 , [], JSON_NUMERIC_CHECK);
}
else if (\Hash::check($request->new_password, $request->user()->password)) {
return response()->json([
"message" => "New password is same as the old password"
], 400 , [], JSON_NUMERIC_CHECK);
}
else {
User::where('id', $request->user()->id)->update([
'password' => \Hash::make($request->new_password)
]);
return response()->json([
"message" => "Password updated successfully"
], 200 , [], JSON_NUMERIC_CHECK);
}
}
}