Moony
PHP Framework

Usage

Pro validaci postu je třeba v dané metodě kontroleru přidat parametr typu Moony\bootstrap\core\services\Request, tato třída obsahuje metodu validate() a jejím prvním parametrem je pole. Toto pole by mělo obsahovat key = post input name a value = pole všech kontrol, které u tohoto inputu provést.

Key může začínat znakem:
? Tento input nemusí být součástí POST (lze použít při validaci pole)
% Pokud je tento input prázdný, tak žádná z validací nebude prováděná (neplatí pro validaci pole)

Při validaci se automaticky validuje také CSRF, proto je třeba v HTML formu použít {csrf}, viz. příklad níže. Pokud se má CSRF validace přeskočit, je třeba v metodě validate() uvést druhý parametr true.

<form action="{route()}" method="post">
    {csrf}
    <input type="text" name="email">
    <input type="password" name="password">
    <input type="password" name="passwordConfirm">
</form>

$validatorResult = $request->validate([
    'email' => Validator::email('Email není správně'),
    'password' => Validator::length(8, null, 'Heslo musí mít alespoň {min} znaků'),
    'passwordAgain' => Validator::equalToInput('password', 'Zadaná hesla nejsou shodná')
]);

if($validatorResult->success()) {
    // hard work
}else{
    echo 'Chyba: ' . $validatorResult->getFirstFailMessage();
}