@extends('layouts.app') @section('content')

Example Form with Reusable Components

@csrf
@error('mobile_number') {{ $message }} @enderror
Component Features:
  • Country Code Dropdown: Bootstrap-based with flag icons and search
  • Nationality Dropdown: Select2-based with flag icons and search
  • Both components preserve values on validation errors
  • Both components support required/optional fields
  • Both components display validation errors
  • Multiple instances can be used on the same page

How to Use These Components

1. Country Code Dropdown
<x-country-code-dropdown
    name="country_code"
    id="country_code"
    :value="old('country_code', '+971')"
    :required="true"
    :error="$errors->first('country_code')">
    <input type="tel" class="form-control" name="mobile_number" placeholder="Phone number">
</x-country-code-dropdown>
2. Nationality Dropdown
<x-nationality-dropdown
    name="nationality"
    id="nationality"
    :value="old('nationality')"
    :required="true"
    :error="$errors->first('nationality')" />
3. Required Dependencies
<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flag-icons@6.6.6/css/flag-icons.min.css">
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />

<!-- JS -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>

<!-- Component Scripts -->
@stack('styles')
@stack('scripts')
@stack('styles') @stack('scripts') @endsection