NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Geolocation for Laravel

Validácia a požiadavky

Balík zaregistruje Rule::coordinates(), ktoré overí, že hodnota je dvojica súradníc v platných rozsahoch šírky a dĺžky:

use Illuminate\Validation\Rule;

$request->validate([
    'point' => ['required', Rule::coordinates()],   // "lat,lng", [lat, lng], or ['latitude'=>…, 'longitude'=>…]
]);

Akceptované tvary vstupu:

// Each of these passes Rule::coordinates():
'48.1486,17.1077';                                // "lat,lng" string
[48.1486, 17.1077];                               // indexed pair
['latitude' => 48.1486, 'longitude' => 17.1077];  // named keys
['lat' => 48.1486, 'lng' => 17.1077];             // short keys (lon is accepted too)

Pravidlo overí zemepisnú šírku v rozsahu [-90, 90] a dĺžku v rozsahu [-180, 180]. Trieda pravidla je RoundlyConsulting\Geolocation\Rules\CoordinatesRule, ak uprednostňujete new CoordinatesRule.

Preložené správy

Obe chyby — hodnota, ktorá nie je rozpoznateľnou dvojicou, aj hodnota mimo rozsahu — používajú jednu preloženú správu s kľúčom geolocation::validation.coordinates. Riadi sa jazykom aplikácie a :attribute nahradí zobrazovaný názov poľa (z home_location bude „home location“) alebo vaša položka vo validation.attributes, rovnako ako pri vstavaných pravidlách Laravelu. Balík obsahuje angličtinu a slovenčinu:

JazykSpráva
enThe :attribute must be a valid latitude/longitude coordinate.
skPole :attribute musí obsahovať platné súradnice (zemepisnú šírku a dĺžku).

Ak chcete zmeniť znenie alebo pridať jazyk, publikujte súbory a upravte ich v lang/vendor/geolocation:

php artisan vendor:publish --tag="geolocation-translations"

Ak voláte metódu validate() pravidla priamo, váš closure dostane správu už preloženú, s ponechaným :attribute.

Makro požiadavky

Každá požiadavka dostane makro location(), ktoré cez manažéra určí Location klienta z jeho IP — rešpektuje teda vašu pipeline, cache aj testovací fake:

$location = $request->location();   // resolves the client's Location from its IP, or null

Ak požiadavka nemá IP, vráti null.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.