Aller au contenu

Validateur

phil/accessibility-check

Validator\AccessibleContent est une contrainte de symfony/validator : la valeur, du HTML dans une chaîne ou un Stringable, ou un Document UJO, est accessible. null et '' sont valides, comme pour toute contrainte sauf NotBlank. Toute autre valeur lève UnexpectedValueException.

use Phil\AccessibilityCheck\Severity;
use Phil\AccessibilityCheck\Validator\AccessibleContent;

final class ArticleInput
{
    #[AccessibleContent]
    public ?string $body = null;

    #[AccessibleContent(minSeverity: Severity::Warning, language: 'fr', locale: 'fr')]
    public ?Document $content = null;
}
OptionValeur par défautSignification
minSeveritySeverity::Errorles constats qui deviennent des violations : cette sévérité et les plus graves
languagenullla langue d'un contenu qui n'indique pas la sienne ; celle de la politique si null
localenullla locale des messages ; celle du validateur si null
message{{ message }}le message d'une violation
refusedMessageThis content cannot be checked for accessibility: {{ reason }}le message d'un contenu refusé

Chaque constat est une violation de code AccessibleContent::INACCESSIBLE_ERROR, avec les paramètres {{ message }} — le message du constat —, {{ rule }}, {{ criterion }}, {{ severity }} et {{ location }}. Un contenu que le vérificateur refuse — trop grand, pas en UTF-8 — est une violation de code REFUSED_ERROR avec {{ reason }}.

AccessibleContentValidator reçoit l'AccessibilityChecker avec lequel il vérifie, et la locale des messages : enregistrez-le comme service, étiqueté validator.constraint_validator, pour que la contrainte suive la politique de l'application (Installation). Sans cette déclaration, le validateur est construit avec la politique par défaut et rédige en anglais.