Językowo bym się trzymał angielskich nazw, jeśli już chcesz PL to
Walidacja nie
Validacja. Ale nadal,
Validator brzmi lepiej ;-)
Najczęściej walidatory przyjmują reguły, na podstawie których sprawdzają czy pole ma poprawą wartość.
Możesz np zrobić tak, że przekazujesz całą tablicę $_POST i dla nazw pól ustawiasz warunki, np not_empty, int, string, max_lengt: 16, min_length: 8, unique, match_regex itd.
Następnie w walidatorze bierzesz pole, sprawdzasz czy istnieje w $_POST, czy jest wymagane, czy jego format jest zgodny ze wzorcem. Jeśli nie to zbierasz błędy i na koniec zwracasz true/false plus tablica błędów.
Same sprawdzanie formatu możesz zrobić w jakiejś osobnej klasie, w której zdefiniujesz sobie metody na każde porównanie, w stylu:
class Rule {
public function notEmpty($item)
{
}
public function matchRegex($item, string $regex)
{
}
}
A do walidatora dodajesz przez:
$validator = new Validator();
$validator->addRule('price', new Rule('not_empty'));
$validator->addRule('price', new Rule('decimal'));
$validator->addRule('quantity', new Rule('not_empty'));
$validator->addRule('quantity', new Rule('greater_than', 0));
if (!$validator->valid()){
// Wróć do formularza, podświetl błędne pola.
}