<?php declare(strict_types=1);

namespace App\Engine\AdministratorUser\Forms;

use Symfony\Component\Validator\Constraints as Assert;

class ChangePasswordFormDTO
{

    #[Assert\NotBlank()]
    public string $newPassword = "";
    #[Assert\NotBlank()]
    public string $confirmNewPassword = "";

    #[Assert\Callback()]
    public function validate(\Symfony\Component\Validator\Context\ExecutionContextInterface $context): void
    {
        if ($this->newPassword !== $this->confirmNewPassword) {
            $translator = \App\Engine\Localization\TranslatorStaticProxy::getInstance();
            $context->buildViolation($translator->trans("admin.administrator-user.actions.access-methods.validator.passwords-must-be-same"))
                ->atPath("confirmNewPassword")
                ->addViolation();
        }
    }

}