После отправки формы я получаю сообщение об ошибке «Метод Illuminate \ Validation \ Validator :: validate255 не существует»,
Я проверил функции, в которых у меня есть проверка, и даже не могу найти, в чем проблема?
Вот моя первая функция магазина:
public function store(Request $request)
{
// Validate form
$this->validate($request, [
'name' => 'required|255',
'email' => 'required|email|unique:users'
]);
// Generate password
if (Request::has('password') && !empty($request->password)){
$password = trim($request->password);
} else{
# set the manual password
$length = 10;
$keyspace = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';
$str = '';
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$str .= $keyspace[random_int(0, $max)];
}
$password = $str;
}
$user = new User();
// Insert User's data into database
$user->name = $request->name;
$user->email = $request->email;
$user->password = Hash::make($password);
if ($user->save()){
return redirect()->route('users.show', $user->id);
} else{
Session::flash('danger', 'Sorry, a problem occured while creating this user.');
return redirect()->route('users.create');
}
}
И вот функция обновления для пользователя editinig:
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required|max:255',
'email' => 'required|email|unique:users,email,'.$id
]);
$user = User::findOrFail($id);
$user->name = $request->name;
$user->email = $request->email;
if ($request->password_options == 'auto'){
# set the manual password
$length = 10;
$keyspace = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';
$str = '';
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$str .= $keyspace[random_int(0, $max)];
}
$password = $str;
} elseif ($request->password_options == 'manual'){
$user->password = Hash::make($request->password);
}
if ($user->save()){
return redirect()->route('users.show', $id);
} else{
Session::flash('danger', 'There was a problem saving the updated user info to the database. Please, try again.');
return redirect()->route('users.edit', $id);
}
}
Я не думаю, что есть проблема с интерфейсом, но если это может быть по какой-то причине, я обновлю сообщение.






шанс 'name' => 'required|255', в 'name' => 'required|max:255',
Возникла проблема с вашей проверкой имени.
Вы можете изменить свой код проверки с помощью приведенного ниже кода.
$this->validate($request, [
'name' => 'required|max:255',
'email' => 'required|email|unique:users'
]);
Вы можете проверить доступные проверки laravel по ссылке ниже: https://laravel.com/docs/5.6/validation#available-validation-rules
Вы пытались импортировать этот Illuminate \ Foundation \ Validation \ ValidatesRequests; ?