Fais Lonelyman yang bergantung pada kehidupan cyber nya

Konfigurasi Laravel Phone

2 Men-bac

Ilustrasi Telpon berdering
Mungkin terkadang kita butuh package laravel yang berguna banget dalam hal penyajian dan validasi nomor telpon kali ini kita akan menginstall paket tersebut dan informasi lainnya

Cara install

Ikuti step by step untuk mendapatkan instalasi versi terbaru:

composer require propaganistas/laravel-phone

Laravel

Di app config, tambahkan Service Provider ke array $providers (untuk laravel 5,4 kebawah):

'providers' => [
    PropaganistasLaravelPhonePhoneServiceProvider::class,
],

Lumen

Di bootstrap/app.php, tambahkan dibaris Service Provider

$app->register(PropaganistasLaravelPhonePhoneServiceProvider::class);

Validasi

Untuk validasi nomor telpon, gunakan kata kunci phonedalam rules validasi array atau gunakan rule class Phone untuk mendefinisikan Regular expression.
Validator No Telpon ini juga dapat kalian gunakan dalam tiga cara.

  • Spesifik Negara ISO 3166-1 alpha-2 compliant untuk validator, contoh.:
    'phonefield'       => 'phone:US,BE',
    // 'phonefield'    => Rule::phone()->country(['US', 'BE'])
    

    Validator akan melakukan cek apa itu nomor valid dalam suatu negara, silahkan tambahkan negara yg ingin dimasukkan secara banyak.

  • Inputan negara

    'phonefield'            => 'phone',
    // 'phonefield'         => Rule::phone()
    'phonefield_country'    => 'required_with:phonefield',
    
    'phonefield'            => 'phone:custom_country_field',
    // 'phonefield'         => Rule::phone()->countryField('custom_country_field')
    'custom_country_field'  => 'required_with:phonefield',
    

    Kalau pakai Laravel-Intl, juga bisa gunakan snippet dibawah untuk seleksi dalam daftar. Itu akan otomatis berdasarkan settingan lokasi default kamu:

    Country::all()
    
  • Juga bisa intruksi validator untuk deteksi otomatis berdasarkan negara dengan keyword AUTO (dan beberapa ada yg ga bisa):
    'phonefield'       => 'phone:AUTO,US',
    // 'phonefield'    => Rule::phone()->detect()->country('US')
    

    Validator akan mencoba mengambil negara dari inputan user sendiri dan kemudian memeriksa apakah nomor tersebut valid untuk negara itu. Jika negara itu tidak dapat ditebak, itu akan divalidasi menggunakan negara-negara fallback jika disediakan. Perhatikan bahwa tebakan negara hanya akan berfungsi saat nomor telepon dimasukkan dalam Format Internasional (diawali dengan tanda +, misalnya +32 ….). Angka nol ganda akan ** TIDAK ** diparsing dg benar karena kesalahan user.

Untuk menentukan batasan pada jenis nomor, cukup tambahkan jenis yang diizinkan ke akhir parameter, misalnya:

'phonefield'       => 'phone:US,BE,mobile',
// 'phonefield'    => Rule::phone()->country(['US', 'BE'])->type('mobile')
// 'phonefield'    => Rule::phone()->country('US', 'BE')->mobile()

Beberapa jenis telpon adalah mobile (telpon genggam) and fixed_line (telpon kabel), namun kamu juga dapat melihat jenis lain disini.

You can also enable more lenient validation (for example, fixed lines without area codes) by using the LENIENT parameter. This feature inherently doesn’t play well with country autodetection and number type validation, so use such combo at own risk.
Juga tersedia validasi yang lebih lunak (misalnya, fixedline tanpa kode area) dengan menggunakan parameter LENIENT. Fitur ini pada dasarnya tidak berjalan dengan baik dengan deteksi otomatis berdasarkan negara dan validasi jenis nomor, jadi gunakan kombinasi tersebut dengan risiko sendiri.

'phonefield'       => 'phone:LENIENT,US',
// 'phonefield'    => Rule::phone()->lenient()->country('US')

Class Utilitas PhoneNumber

Nomor telpon yang tidak rapi juga dapat di organisir dengan mudah dengan menggunakan class PropaganistasLaravelPhonePhoneNumber. Penggunaan cukup mudah dan langsung bisa dimasukkan menjadi objek ke DB dalam format E164

use PropaganistasLaravelPhonePhoneNumber;

(string) PhoneNumber::make('+3212/34.56.78');              // +3212345678
(string) PhoneNumber::make('012 34 56 78', 'BE');          // +3212345678
(string) PhoneNumber::make('012345678')->ofCountry('BE');  // +3212345678

Format Nomor

Nomor telpon juga dapat diformat otomatis dengan paket ini sesuai selera seperti:

PhoneNumber::make('012 34 56 78', 'BE')->format($format);       // See libphonenumberPhoneNumberFormat
PhoneNumber::make('012 34 56 78', 'BE')->formatE164();          // +3212345678
PhoneNumber::make('012 34 56 78', 'BE')->formatInternational(); // +32 12 34 56 78
PhoneNumber::make('012 34 56 78', 'BE')->formatRFC3966();       // +32-12-34-56-78
PhoneNumber::make('012/34.56.78', 'BE')->formatNational();      // 012 34 56 78

// Format berdasarkan jumlah perbilangan negara kebiasaan.
PhoneNumber::make('012 34 56 78', 'BE')->formatForCountry('BE'); // 012 34 56 78
PhoneNumber::make('012 34 56 78', 'BE')->formatForCountry('NL'); // 00 32 12 34 56 78
PhoneNumber::make('012 34 56 78', 'BE')->formatForCountry('US'); // 011 32 12 34 56 78

// Format nomor yang bisa otomatis digunakan langsung di telpon genggam.
PhoneNumber::make('012 34 56 78', 'BE')->formatForMobileDialingInCountry('BE'); // 012345678
PhoneNumber::make('012 34 56 78', 'BE')->formatForMobileDialingInCountry('NL'); // +3212345678
PhoneNumber::make('012 34 56 78', 'BE')->formatForMobileDialingInCountry('US'); // +3212345678

Number information

Informasi tambahan mengenai jenis jenis no telepon:

PhoneNumber::make('012 34 56 78', 'BE')->getType();              // 'fixed_line'
PhoneNumber::make('012 34 56 78', 'BE')->isOfType('fixed_line'); // true
PhoneNumber::make('012 34 56 78', 'BE')->getCountry();           // 'BE'
PhoneNumber::make('012 34 56 78', 'BE')->isOfCountry('BE');      // true
PhoneNumber::make('+32 12 34 56 78')->isOfCountry('BE');         // true

Fungsi Helper

Paket ini juga menyediakan fungsi helper phone() menghasilkan PropaganistasLaravelPhonePhoneNumber array atau string berformat jika $format disediakan:

phone($number, $country = [], $format = null)

Fais Lonelyman yang bergantung pada kehidupan cyber nya

Instalasi ReamJS

Fais
19 Det-Bac

Membuat Package Laravel

Fais
2 Men-bac