I still get the @once @endonce
redering on the page. I've cleared the catch every possible way I know how..
Link to screenshot of form https://imgur.com/jALbkNk
I still get the @once @endonce
redering on the page. I've cleared the catch every possible way I know how..
Link to screenshot of form https://imgur.com/jALbkNk
<form action="{{ route('submitInquireHome') }}" method="POST" | |
class="mt-4 grid sm:grid-cols-2 grid-cols-1 gap-2"> | |
@csrf | |
<div class="sm:col-span-2 col-span-1"> | |
<label for="group_type" class="sr-only block text-sm leading-5 font-medium text-gray-700">Select your group type | |
<x-required-dot/> | |
</label> | |
<select id="group_type" name="group_type" | |
class="mt-1 text-gray-400 focus:text-gray-600 active:text-gray-600 visited:text-gray-600 form-select block w-full pl-3 pr-10 py-2 text-base leading-6 border-gray-300 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 sm:text-sm sm:leading-5"> | |
<option selected disabled>Please Select Your Group Type</option> | |
<option value="Individual" {{ old('group_type') == 'Individual' ? 'selected' : '' }}>Individual</option> | |
<option value="Family" {{ old('group_type') == 'Family' ? 'selected' : '' }}>Family</option> | |
<option value="Group" {{ old('group_type') == 'Group' ? 'selected' : '' }}>Group (2-9 people)</option> | |
<option value="Team Leader" {{ old('group_type') == 'Team Leader' ? 'selected' : '' }}>Team Leader (10+ people)</option> | |
</select> | |
</div> | |
<div class="col-span-1"> | |
<label for="first_name" | |
class="sr-only block text-sm font-medium leading-5 capitalize text-bh-navy-600"> | |
First name | |
<x-required-dot/> | |
</label> | |
<div class="mt-1 rounded-md shadow-sm"> | |
@guest | |
<input id="first_name" name="first_name" type="text" | |
placeholder="First Name" | |
value="{{ old('first_name') }}" required | |
class="{{ $errors->has('first_name') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@else | |
<input id="first_name" name="first_name" type="text" | |
placeholder="First Name" | |
value="{{ ucfirst(strtolower($user->first_name)) }}" required | |
class="{{ $errors->has('first_name') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@endguest | |
</div> | |
@if ($errors->has('first_name')) | |
<span class="appearance-none invalid-feedback"> | |
<strong class="text-sm text-bh-red-500 font-normal italic">{{ $errors->first('first_name') }}</strong> | |
</span> | |
@endif | |
</div> | |
<div class="col-span-1"> | |
<label for="last_name" | |
class="sr-only block text-sm font-medium leading-5 capitalize text-bh-navy-600"> | |
Last name | |
<x-required-dot/> | |
</label> | |
<div class="mt-1 rounded-md shadow-sm"> | |
@guest | |
<input id="last_name" name="last_name" type="text" | |
placeholder="Last Name" | |
value="{{ old('last_name') }}" required | |
class="{{ $errors->has('last_name') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@else | |
<input id="last_name" name="last_name" type="text" | |
placeholder="Last Name" | |
value="{{ ucfirst(strtolower($user->last_name)) }}" required | |
class="{{ $errors->has('last_name') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@endguest | |
</div> | |
@if ($errors->has('last_name')) | |
<span class="appearance-none invalid-feedback"> | |
<strong class="text-sm text-bh-red-500 font-normal italic">{{ $errors->first('last_name') }}</strong> | |
</span> | |
@endif | |
</div> | |
<div class="sm:col-span-1"> | |
<label for="email" | |
class="sr-only block text-sm font-medium leading-5 capitalize text-bh-navy-600"> | |
Email address | |
<x-required-dot/> | |
</label> | |
<div class="mt-1 rounded-md shadow-sm"> | |
@guest | |
<input id="email" name="email" type="email" | |
placeholder="Email Address" | |
value="{{ old('email') }}" required | |
class="{{ $errors->has('email') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@else | |
<input id="email" name="email" type="email" | |
placeholder="Email Address" | |
value="{{ ucfirst(strtolower($user->email)) }}" required | |
class="{{ $errors->has('email') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@endguest | |
</div> | |
@if ($errors->has('email')) | |
<span class="appearance-none invalid-feedback"> | |
<strong class="text-sm text-bh-red-500 font-normal italic">{{ $errors->first('email') }}</strong> | |
</span> | |
@endif | |
</div> | |
<div class="sm:col-span-1"> | |
<label for="phone" | |
class="sr-only block text-sm font-medium leading-5 capitalize text-bh-navy-600"> | |
Phone | |
<x-required-dot/> | |
</label> | |
<div class="mt-1 rounded-md shadow-sm"> | |
@guest | |
<input id="phone" name="phone" type="tel" | |
placeholder="Phone Number" | |
value="{{ old('phone') }}" required | |
class="{{ $errors->has('phone') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@else | |
<input id="phone" name="phone" type="tel" | |
placeholder="Phone Number" | |
value="{{ ucfirst(strtolower($user->phone)) }}" required | |
class="{{ $errors->has('phone') ? ' border border-red-500' : '' }} form-input block w-full focus:shadow-outline-gray focus:border-bh-navy-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/> | |
@endguest | |
</div> | |
@if ($errors->has('phone')) | |
<span class="appearance-none invalid-feedback"> | |
<strong class="text-sm text-bh-red-500 font-normal italic">{{ $errors->first('phone') }}</strong> | |
</span> | |
@endif | |
</div> | |
<div class="sm:col-span-2 col-span-1"> | |
<div x-data="{ open: false }"> | |
<label for="location_of_interest" | |
class="sr-only block text-sm leading-5 font-medium text-gray-700">Countries of interest | |
<x-required-dot/> | |
</label> | |
{{-- @click.away="open = false"--}} | |
<div x-on:click="open = true" | |
class="mt-1 flex bg-white form-select text-gray-400 focus:text-gray-600 block rounded shadow-sm border border-gray-300 cursor-pointer">Select Your Countries Of Interest | |
</div> | |
<div x-show.transition="open" @click.away="open = false" x-cloak | |
class="-mt-1 flex bg-white py-3 px-4 rounded-b shadow-sm border border-gray-300"> | |
<div class="grid lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-3 grid-cols-2 gap-3"> | |
@foreach($activeCountries as $activeCountry) | |
<div class="flex items-center col-span-1"> | |
<input id="location_of_interest" name="location_of_interest[]" | |
value="{{ $activeCountry->name }}" | |
{{ (is_array(old('location_of_interest')) && in_array($activeCountry->name, old('location_of_interest'))) ? ' checked' : '' }} type="checkbox" | |
class="form-checkbox h-4 w-4 text-gray-600 transition duration-150 ease-in-out"> | |
<label for="location_of_interest" class="ml-2 block text-sm leading-5 text-gray-900"> | |
{{ $activeCountry->name }} | |
</label> | |
</div> | |
@endforeach | |
</div> | |
</div> | |
</div> | |
</div> | |
<div class="sm:col-span-2 col-span-1"> | |
<div class="flex justify-between"> | |
<label for="comments" | |
class="sr-only text-sm font-medium leading-5 text-bh-navy-700">Tell us more about yourself</label> | |
</div> | |
<div class="mt-1 relative rounded shadow-sm"> | |
<textarea id="comments" name="comments" rows="4" | |
placeholder="Tell Us More About Yourself | Optional" | |
class="form-textarea block w-full transition ease-in-out duration-150 sm:text-sm sm:leading-5">{{ old('comments') }}</textarea> | |
</div> | |
</div> | |
<!--ADD HONEYPOT PACKAGE--> | |
<x-honey recaptcha="homePageForm"/> | |
<!--END HONEYPOT PACKAGE--> | |
<div class="text-right sm:col-span-2 col-span-1"> | |
<span class="inline-flex rounded shadow-sm"> | |
<button type="submit" | |
class="inline-flex justify-center py-2 px-4 border border-transparent text-sm leading-5 font-medium rounded text-white bg-bh-navy-600 hover:bg-bh-navy-500 focus:outline-none focus:border-bh-navy-700 focus:shadow-outline-bh-gray active:bg-bh-navy-700 transition duration-150 ease-in-out"> | |
Submit | |
</button> | |
</span> | |
</div> | |
</form> |
<?php | |
namespace App\Http\Controllers\Email\TripInquire; | |
use App\Http\Controllers\Controller; | |
use App\Mail\TripInquire\Staff\TripInquireHomeEmail; | |
use Illuminate\Http\Request; | |
use Illuminate\Support\Facades\Mail; | |
class TripInquireHomeFormController extends Controller | |
{ | |
public function submitInquireHome(Request $request) | |
{ | |
$validatedData = $request->validate([ | |
'group_type' => 'required', | |
'first_name' => 'required|min:2', | |
'last_name' => 'required|min:2', | |
'email' => 'required|string|email|max:255', | |
'phone' => 'required|min:7', | |
'comments' => 'nullable|min:2', | |
// 'location_of_interest' => 'nullable', | |
// 'g-recaptcha-response' => 'required|captcha', | |
]); | |
// Take the array of the other_locations_of_interest and converts to a comma separated list. | |
if ($request->input('location_of_interest')) { | |
$location_of_interest_string = ''; | |
foreach ($request->input('location_of_interest') as $convertToComma) { | |
$location_of_interest_string .= $convertToComma . ', '; | |
} | |
$location_of_interest = substr($location_of_interest_string, 0, -1); | |
$mailTo = '[email protected]'; | |
Mail::to($mailTo)->bcc('[email protected]') | |
->send(new TripInquireHomeEmail( | |
$request->input('group_type'), | |
$request->input('first_name'), | |
$request->input('last_name'), | |
$request->input('email'), | |
$request->input('phone'), | |
$request->input('comments'), | |
$location_of_interest | |
)); | |
} else { | |
$mailTo = '[email protected]'; | |
Mail::to($mailTo)->bcc('[email protected]') | |
->send(new TripInquireHomeEmail( | |
$request->input('group_type'), | |
$request->input('first_name'), | |
$request->input('last_name'), | |
$request->input('email'), | |
$request->input('phone'), | |
$request->input('comments'), | |
null | |
)); | |
} | |
return back()->with('success', 'Your inquiry has been sent. We will be in contact with you soon.'); | |
} | |
} |
Route::post('/submit-inquire-home', 'TripInquireHomeFormController@submitInquireHome') | |
->middleware(['honey', 'honey-recaptcha']) | |
->name('submitInquireHome'); |