#php #laravel #laravel-blade #laravel-8
#php #laravel #laravel-blade #laravel-8
Вопрос:
Я только что добавил тост при отправке формы, но он не сработал, и я не понимаю проблемы.
public function create(Request $data)
{
$data->validate([
'name' => 'required|string|max:255',
'phone' => 'required|unique:users|numeric|digits:11',
'cnic' => 'nullable|unique:users|numeric|digits:13',
'email' => 'required|string|email|max:255|unique:users',
'designation' => 'nullable|string',
'department' => 'nullable|string',
'password' => 'required|string|min:4',
]);
User::create([
'name' => $data['name'],
'phone' => $data['phone'],
'cnic' => $data['cnic'],
'email' => $data['email'],
'role' => $data['role'],
'designation' => $data['designation'],
'department' => $data['department'],
'password' => Hash::make($data['password']),
]);
return redirect()->route('manage-users')->with('message', 'User created successfully!');
}
Это мой контроллер, и я использую этот способ в своем блейде
@if(Session::has('message'))
toastr.info("{{ Session::get('message') }}");
@endif
и это css:
@section('vendor-style')
{{-- vendor css files --}}
<link rel="stylesheet" href="{{ asset('vendors/css/extensions/toastr.css') }}">
@endsection
@section('page-style')
{{-- Page Css files --}}
<link rel="stylesheet" href="{{ asset('css/plugins/extensions/toastr.css') }}">
@endsection
и файлы js:
@section('vendor-script')
{{-- vendor files --}}
<script src="{{ asset('vendors/js/extensions/toastr.min.js') }}"></script>
@endsection
@section('page-script')
{{-- Page js files --}}
<script src="{{ asset('js/scripts/extensions/toastr.js') }}"></script>
@endsection
и эти файлы работают нормально. Спасибо за вашу помощь!
Комментарии:
1. все еще не работает!
2. Вы загрузили tosstr cdn под своим тегом head?
3. да, все файлы подключены правильно
4. У сеанса есть сообщение? Проверьте это с помощью
@if(Session::has('message')) alert("hello"); @endif
5. нет, предупреждение не отображается
Ответ №1:
поскольку это библиотека javascript, вам нужно поместить этот код в <script>
тег
@if(Session::has('message'))
toastr.info("{{ Session::get('message') }}");
@endif
Для
@if(Session::has('message'))
<script>
toastr.info("{{ Session::get('message') }}");
</script>
@endif
если все еще не работает, это означает, что он не запускает ваш код, поэтому вы можете сделать так
@if(Session::has('message'))
<script>
$(function(){
toastr.info("{{ Session::get('message') }}");
})
</script>
@endif
этот код запустит этот код после загрузки страницы
Комментарии:
1. Я действительно ценю вашу помощь, но проблема все та же.
2. Да, оно показывает toastr, когда я пишу этот код в консоли
3. Я пытаюсь это сделать, предупреждение отображается, но toastr нет!
<script> var msg = '{{Session::get('message')}}'; var exist = '{{Session::has('message')}}'; if(exist){ toastr.info(msg); // alert(msg); } </script>
4. можете ли вы вставить этот код блейд-файла в свой вопрос?
Ответ №2:
Я создал пакет для высокого стека (Laravel 8 и буду обновлять его). Не стесняйтесь проверить это: