Ошибка проверки Laravel

Почему моя проверка не работает, но если я одобряю проверку, код будет успешно запущен. [Вот мой контроллер] [1]

функция changepassword (Запрос $ req) {

    $this->validate(
        $req,
        [
            'currpassword' => 'required | min:5',
            'newpassword' => 'required | min:5',
            'confirmnewpassword' => 'required| same:newpassword |min:5' 
        ]);

    // Validasinya gajalan

    $id = $req->input('id');
    $data = User::find($id);

    $currpassword = $req->input('currpassword');
    $newpassword = $req->input('newpassword');
    $confirmnewpassword = $req->input('confirmnewpassword');

    $currpass = $req->input('currpassword'); // password yang lama

    $currpasshash = Hash::make('currpassword');

    if (Hash::check($currpass , $data->password)) { 
        $data->password = Hash::make($newpassword);
        $data->save();
        return redirect('profile'); 

    }
    else{
        return redirect('changepassword');
    }


}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
419
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы передали неправильный параметр в свой метод проверки, попробуйте это,

$this->validate(
    $req->all(), [
        'currpassword' => 'required | min:5',
        'newpassword' => 'required | min:5',
        'confirmnewpassword' => 'required| same:newpassword |min:5' 
    ]);

он не работает, :( результатом было сообщение об ошибке "Ошибка типа: аргумент 1, переданный в App \ Http \ Controllers \ Controller :: validate (), должен быть экземпляром Illuminate \ Http \ Request, заданный массив",

Kenny Nataniel 28.03.2018 07:53

Между полем с именем newpassword и символом pip | есть пробел, а laravel идентифицирует имя поля как «newpassword» вместо «newpassword», что всегда приводит к ошибке.

Удалите пробел и попробуйте:

'confirmnewpassword' => 'required | same:newpassword| min:5' 

это ни на что не повлияло :(. результат все еще возвращается на страницу смены пароля, когда я нажимаю кнопку смены пароля

Kenny Nataniel 28.03.2018 07:55

@KennyNataniel, можете ли вы подтвердить, происходит ли перенаправление на страницу смены пароля из-за функции подтверждать или из следующей строки возврат перенаправления ('changepassword');

Manojkumar B 28.03.2018 13:36
Ответ принят как подходящий

Вы можете попробовать этот код.

function changepassword(Request $req) {
    $validatedData = $request->validate([
        'currpassword' => 'required|min:5',
        'newpassword' => 'required|min:5',
        'confirmnewpassword' => 'required|same:newpassword|min:5' 
    ]);
}

Отображение ошибок валидации

<h1>Create Post</h1>

@if ($errors->any())
   <div class = "alert alert-danger">
      <ul>
           @foreach ($errors->all() as $error)
               <li>{{ $error }}</li>
           @endforeach
      </ul>
   </div>
@endif

Для получения дополнительной информации посетите Проверка в Laravel.

Я надеюсь, что это поможет вам...

в какой строке или каким методом?

Jay Chauhan 28.03.2018 08:08

я имею в виду, что проверка метода не существует, это сообщение об ошибке «BadMethodCallException в строке 74 Macroable.php: проверка метода не существует».

Kenny Nataniel 28.03.2018 08:14

вы импортировали валидатор? использовать валидатор

Jay Chauhan 28.03.2018 09:49

Я использую это «используйте Illuminate \ Support \ Facades \ Validator;» это верно?

Kenny Nataniel 28.03.2018 12:09

да, но используйте его в верхней части скрипта вместо длинного фасада с пространством имен. использовать Валидатор;

Jay Chauhan 28.03.2018 13:42

он работает сам по себе, я ничего не менял, ха-ха, кстати, спасибо за помощь, братан!

Kenny Nataniel 28.03.2018 16:27

Рад это слышать :)

Jay Chauhan 29.03.2018 07:16

Другие вопросы по теме