Skip to content

Commit 332f48c

Browse files
authored
Merge pull request #361 from Wixel/feature/quality-of-life
Added new validators and documentation
2 parents 126700a + e60d2fb commit 332f48c

30 files changed

Lines changed: 2263 additions & 22 deletions

README.md

Lines changed: 107 additions & 15 deletions
Large diffs are not rendered by default.

gump.class.php

Lines changed: 721 additions & 5 deletions
Large diffs are not rendered by default.

lang/de.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,51 @@
4444
'valid_array_size_greater' => 'Das Feld "{field}" muss ein Array mit einer Größe größergleich {param} sein.',
4545
'valid_array_size_lesser' => 'Das Feld "{field}" muss ein Array mit einer Größe kleinergleich {param} sein.',
4646
'valid_array_size_equal' => 'Das Feld "{field}" muss ein Array mit einer Größe gleich {param} sein.',
47+
48+
// Security validators
49+
'strong_password' => 'Das Feld "{field}" muss mindestens 8 Zeichen mit Groß-, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.',
50+
'jwt_token' => 'Das Feld "{field}" muss ein gültiges JWT-Token-Format sein.',
51+
'hash' => 'Das Feld "{field}" muss ein gültiger {param} Hash sein.',
52+
'no_sql_injection' => 'Das Feld "{field}" enthält potentielle SQL-Injection-Muster.',
53+
'no_xss' => 'Das Feld "{field}" enthält potentielle XSS-Muster.',
54+
55+
// Modern web validators
56+
'uuid' => 'Das Feld "{field}" muss eine gültige UUID sein.',
57+
'base64' => 'Das Feld "{field}" muss gültige base64-kodierte Daten sein.',
58+
'hex_color' => 'Das Feld "{field}" muss ein gültiger hexadezimaler Farbcode sein (z.B. #FF0000).',
59+
'rgb_color' => 'Das Feld "{field}" muss ein gültiges RGB-Farbformat sein (z.B. rgb(255,0,0)).',
60+
'timezone' => 'Das Feld "{field}" muss eine gültige Zeitzone-Kennung sein.',
61+
'language_code' => 'Das Feld "{field}" muss ein gültiger Sprachcode sein (z.B. de, de-DE).',
62+
'country_code' => 'Das Feld "{field}" muss ein gültiger Ländercode sein (z.B. DE, AT).',
63+
'currency_code' => 'Das Feld "{field}" muss ein gültiger Währungscode sein (z.B. USD, EUR).',
64+
65+
// Network validators
66+
'mac_address' => 'Das Feld "{field}" muss ein gültiges MAC-Adressen-Format sein.',
67+
'domain_name' => 'Das Feld "{field}" muss ein gültiger Domain-Name sein.',
68+
'port_number' => 'Das Feld "{field}" muss eine gültige Port-Nummer sein (1-65535).',
69+
'social_handle' => 'Das Feld "{field}" muss ein gültiges Social-Media-Handle-Format sein.',
70+
71+
// Geographic validators
72+
'latitude' => 'Das Feld "{field}" muss ein gültiger Breitengrad sein (-90 bis 90).',
73+
'longitude' => 'Das Feld "{field}" muss ein gültiger Längengrad sein (-180 bis 180).',
74+
'postal_code' => 'Das Feld "{field}" muss eine gültige Postleitzahl für {param} sein.',
75+
'coordinates' => 'Das Feld "{field}" muss gültige Koordinaten im Format lat,lng sein.',
76+
77+
// Enhanced date/time validators
78+
'future_date' => 'Das Feld "{field}" muss ein zukünftiges Datum sein.',
79+
'past_date' => 'Das Feld "{field}" muss ein vergangenes Datum sein.',
80+
'business_day' => 'Das Feld "{field}" muss auf einen Werktag fallen (Montag-Freitag).',
81+
'valid_time' => 'Das Feld "{field}" muss ein gültiges Zeitformat sein (HH:MM oder HH:MM:SS).',
82+
'date_range' => 'Das Feld "{field}" muss ein Datum zwischen {param[0]} und {param[1]} sein.',
83+
84+
// Mathematical validators
85+
'even' => 'Das Feld "{field}" muss eine gerade Zahl sein.',
86+
'odd' => 'Das Feld "{field}" muss eine ungerade Zahl sein.',
87+
'prime' => 'Das Feld "{field}" muss eine Primzahl sein.',
88+
89+
// Content validators
90+
'word_count' => 'Das Feld "{field}" erfüllt nicht die Wortanzahl-Anforderungen.',
91+
'camel_case' => 'Das Feld "{field}" muss im camelCase-Format sein.',
92+
'snake_case' => 'Das Feld "{field}" muss im snake_case-Format sein.',
93+
'url_slug' => 'Das Feld "{field}" muss ein gültiges URL-Slug-Format sein.',
4794
);

lang/el.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,51 @@
4444
'valid_array_size_greater' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος, ίσο ή μεγαλύτερο από {param}',
4545
'valid_array_size_lesser' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος, ίσο ή μικρότερο από {param}',
4646
'valid_array_size_equal' => 'Το πεδίο {field} πρέπει να είναι πίνακας με μέγεθος {param}',
47+
48+
// Security validators
49+
'strong_password' => 'Το πεδίο {field} πρέπει να περιέχει τουλάχιστον 8 χαρακτήρες με κεφαλαίο, πεζό, αριθμό και ειδικό χαρακτήρα',
50+
'jwt_token' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή JWT token',
51+
'hash' => 'Το πεδίο {field} πρέπει να είναι έγκυρο {param} hash',
52+
'no_sql_injection' => 'Το πεδίο {field} περιέχει πιθανά μοτίβα SQL injection',
53+
'no_xss' => 'Το πεδίο {field} περιέχει πιθανά μοτίβα XSS',
54+
55+
// Modern web validators
56+
'uuid' => 'Το πεδίο {field} πρέπει να είναι έγκυρο UUID',
57+
'base64' => 'Το πεδίο {field} πρέπει να είναι έγκυρα κωδικοποιημένα base64 δεδομένα',
58+
'hex_color' => 'Το πεδίο {field} πρέπει να είναι έγκυρος δεκαεξαδικός κωδικός χρώματος (π.χ., #FF0000)',
59+
'rgb_color' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή RGB χρώματος (π.χ., rgb(255,0,0))',
60+
'timezone' => 'Το πεδίο {field} πρέπει να είναι έγκυρο αναγνωριστικό ζώνης ώρας',
61+
'language_code' => 'Το πεδίο {field} πρέπει να είναι έγκυρος κωδικός γλώσσας (π.χ., en, en-US)',
62+
'country_code' => 'Το πεδίο {field} πρέπει να είναι έγκυρος κωδικός χώρας (π.χ., US, CA)',
63+
'currency_code' => 'Το πεδίο {field} πρέπει να είναι έγκυρος κωδικός νομίσματος (π.χ., USD, EUR)',
64+
65+
// Network validators
66+
'mac_address' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή MAC διεύθυνσης',
67+
'domain_name' => 'Το πεδίο {field} πρέπει να είναι έγκυρο όνομα τομέα',
68+
'port_number' => 'Το πεδίο {field} πρέπει να είναι έγκυρος αριθμός θύρας (1-65535)',
69+
'social_handle' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή λαβής μέσων κοινωνικής δικτύωσης',
70+
71+
// Geographic validators
72+
'latitude' => 'Το πεδίο {field} πρέπει να είναι έγκυρο γεωγραφικό πλάτος (-90 έως 90)',
73+
'longitude' => 'Το πεδίο {field} πρέπει να είναι έγκυρο γεωγραφικό μήκος (-180 έως 180)',
74+
'postal_code' => 'Το πεδίο {field} πρέπει να είναι έγκυρος ταχυδρομικός κώδικας για {param}',
75+
'coordinates' => 'Το πεδίο {field} πρέπει να είναι έγκυρες συντεταγμένες σε μορφή lat,lng',
76+
77+
// Enhanced date/time validators
78+
'future_date' => 'Το πεδίο {field} πρέπει να είναι μελλοντική ημερομηνία',
79+
'past_date' => 'Το πεδίο {field} πρέπει να είναι παρελθούσα ημερομηνία',
80+
'business_day' => 'Το πεδίο {field} πρέπει να πέφτει σε εργάσιμη ημέρα (Δευτέρα-Παρασκευή)',
81+
'valid_time' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή ώρας (HH:MM ή HH:MM:SS)',
82+
'date_range' => 'Το πεδίο {field} πρέπει να είναι ημερομηνία μεταξύ {param[0]} και {param[1]}',
83+
84+
// Mathematical validators
85+
'even' => 'Το πεδίο {field} πρέπει να είναι άρτιος αριθμός',
86+
'odd' => 'Το πεδίο {field} πρέπει να είναι περιττός αριθμός',
87+
'prime' => 'Το πεδίο {field} πρέπει να είναι πρώτος αριθμός',
88+
89+
// Content validators
90+
'word_count' => 'Η καταμέτρηση λέξεων του πεδίου {field} δεν πληροί τις απαιτήσεις',
91+
'camel_case' => 'Το πεδίο {field} πρέπει να είναι σε μορφή camelCase',
92+
'snake_case' => 'Το πεδίο {field} πρέπει να είναι σε μορφή snake_case',
93+
'url_slug' => 'Το πεδίο {field} πρέπει να είναι έγκυρη μορφή URL slug',
4794
);

lang/en.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,51 @@
4444
'valid_array_size_greater' => 'The {field} fields needs to be an array with a size, equal to, or higher than {param}',
4545
'valid_array_size_lesser' => 'The {field} fields needs to be an array with a size, equal to, or lower than {param}',
4646
'valid_array_size_equal' => 'The {field} fields needs to be an array with a size equal to {param}',
47+
48+
// Security validators
49+
'strong_password' => 'The {field} must contain at least 8 characters with uppercase, lowercase, number and special character',
50+
'jwt_token' => 'The {field} must be a valid JWT token format',
51+
'hash' => 'The {field} must be a valid {param} hash',
52+
'no_sql_injection' => 'The {field} contains potential SQL injection patterns',
53+
'no_xss' => 'The {field} contains potential XSS patterns',
54+
55+
// Modern web validators
56+
'uuid' => 'The {field} must be a valid UUID',
57+
'base64' => 'The {field} must be valid base64 encoded data',
58+
'hex_color' => 'The {field} must be a valid hexadecimal color code (e.g., #FF0000)',
59+
'rgb_color' => 'The {field} must be a valid RGB color format (e.g., rgb(255,0,0))',
60+
'timezone' => 'The {field} must be a valid timezone identifier',
61+
'language_code' => 'The {field} must be a valid language code (e.g., en, en-US)',
62+
'country_code' => 'The {field} must be a valid country code (e.g., US, CA)',
63+
'currency_code' => 'The {field} must be a valid currency code (e.g., USD, EUR)',
64+
65+
// Network validators
66+
'mac_address' => 'The {field} must be a valid MAC address format',
67+
'domain_name' => 'The {field} must be a valid domain name',
68+
'port_number' => 'The {field} must be a valid port number (1-65535)',
69+
'social_handle' => 'The {field} must be a valid social media handle format',
70+
71+
// Geographic validators
72+
'latitude' => 'The {field} must be a valid latitude (-90 to 90)',
73+
'longitude' => 'The {field} must be a valid longitude (-180 to 180)',
74+
'postal_code' => 'The {field} must be a valid postal code for {param}',
75+
'coordinates' => 'The {field} must be valid coordinates in lat,lng format',
76+
77+
// Enhanced date/time validators
78+
'future_date' => 'The {field} must be a future date',
79+
'past_date' => 'The {field} must be a past date',
80+
'business_day' => 'The {field} must fall on a business day (Monday-Friday)',
81+
'valid_time' => 'The {field} must be a valid time format (HH:MM or HH:MM:SS)',
82+
'date_range' => 'The {field} must be a date between {param[0]} and {param[1]}',
83+
84+
// Mathematical validators
85+
'even' => 'The {field} must be an even number',
86+
'odd' => 'The {field} must be an odd number',
87+
'prime' => 'The {field} must be a prime number',
88+
89+
// Content validators
90+
'word_count' => 'The {field} word count does not meet requirements',
91+
'camel_case' => 'The {field} must be in camelCase format',
92+
'snake_case' => 'The {field} must be in snake_case format',
93+
'url_slug' => 'The {field} must be a valid URL slug format',
4794
);

lang/eo.php

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,52 @@
4343
'valid_json_string' => 'La kampo “{field}” devas enhavi validan JSON-formatan ĉenon',
4444
'valid_array_size_greater' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala aŭ pli granda ol {param}',
4545
'valid_array_size_lesser' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala aŭ malpli granda ol {param}',
46-
'valid_array_size_equal' => 'La kampoj “{field}” devas esti tabelo kun grandeco egala je {param}',
46+
'valid_array_size_equal' => 'La kampoj "{field}" devas esti tabelo kun grandeco egala je {param}',
47+
48+
// Security validators
49+
'strong_password' => 'La kampo "{field}" devas enhavi almenaŭ 8 signojn kun majuskloj, minuskloj, numeroj kaj specialaj signoj',
50+
'jwt_token' => 'La kampo "{field}" devas esti valida JWT-ĵetona formato',
51+
'hash' => 'La kampo "{field}" devas esti valida {param} haketo',
52+
'no_sql_injection' => 'La kampo "{field}" enhavas eblajn SQL-enmeto modelojn',
53+
'no_xss' => 'La kampo "{field}" enhavas eblajn XSS modelojn',
54+
55+
// Modern web validators
56+
'uuid' => 'La kampo "{field}" devas esti valida UUID',
57+
'base64' => 'La kampo "{field}" devas esti validaj base64-kodaj datumoj',
58+
'hex_color' => 'La kampo "{field}" devas esti valida deksesouma kolorkodo (ekz., #FF0000)',
59+
'rgb_color' => 'La kampo "{field}" devas esti valida RGB-kolora formato (ekz., rgb(255,0,0))',
60+
'timezone' => 'La kampo "{field}" devas esti valida tempozono-identigilo',
61+
'language_code' => 'La kampo "{field}" devas esti valida lingvokodo (ekz., en, en-US)',
62+
'country_code' => 'La kampo "{field}" devas esti valida landkodo (ekz., US, CA)',
63+
'currency_code' => 'La kampo "{field}" devas esti valida monkodo (ekz., USD, EUR)',
64+
65+
// Network validators
66+
'mac_address' => 'La kampo "{field}" devas esti valida MAC-adresa formato',
67+
'domain_name' => 'La kampo "{field}" devas esti valida retregionomo',
68+
'port_number' => 'La kampo "{field}" devas esti valida pordonumero (1-65535)',
69+
'social_handle' => 'La kampo "{field}" devas esti valida socia reteja tenilo formato',
70+
71+
// Geographic validators
72+
'latitude' => 'La kampo "{field}" devas esti valida latitudo (-90 ĝis 90)',
73+
'longitude' => 'La kampo "{field}" devas esti valida longitudo (-180 ĝis 180)',
74+
'postal_code' => 'La kampo "{field}" devas esti valida poŝtkodo por {param}',
75+
'coordinates' => 'La kampo "{field}" devas esti validaj koordinatoj en lat,lng formato',
76+
77+
// Enhanced date/time validators
78+
'future_date' => 'La kampo "{field}" devas esti estonta dato',
79+
'past_date' => 'La kampo "{field}" devas esti pasinta dato',
80+
'business_day' => 'La kampo "{field}" devas esti en negoca tago (lundo-vendredo)',
81+
'valid_time' => 'La kampo "{field}" devas esti valida tempoformato (HH:MM aŭ HH:MM:SS)',
82+
'date_range' => 'La kampo "{field}" devas esti dato inter {param[0]} kaj {param[1]}',
83+
84+
// Mathematical validators
85+
'even' => 'La kampo "{field}" devas esti para numero',
86+
'odd' => 'La kampo "{field}" devas esti nepara numero',
87+
'prime' => 'La kampo "{field}" devas esti primo numero',
88+
89+
// Content validators
90+
'word_count' => 'La vorto-kalkulo de la kampo "{field}" ne plenumas la postulojn',
91+
'camel_case' => 'La kampo "{field}" devas esti en camelCase formato',
92+
'snake_case' => 'La kampo "{field}" devas esti en snake_case formato',
93+
'url_slug' => 'La kampo "{field}" devas esti valida URL-slug formato',
4794
);

0 commit comments

Comments
 (0)