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:
| Jazyk | Správa |
|---|---|
en | The :attribute must be a valid latitude/longitude coordinate. |
sk | Pole :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 nullAk 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 kryptomienOdoslaní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.