第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Symfony 5 約束驗(yàn)證:自定義錯(cuò)誤消息

Symfony 5 約束驗(yàn)證:自定義錯(cuò)誤消息

PHP
人到中年有點(diǎn)甜 2022-09-17 21:01:26
我想使用SF 4.3上發(fā)布的新不承諾密碼:https://symfony.com/blog/new-in-symfony-4-3-compromised-password-validator我已經(jīng)在我的驗(yàn)證.yaml上設(shè)置了它,如下所示:App\Entity\User:    constraints:        - App\Validator\Constraints\ConstraintPassword: ~    properties:        plainPassword:            - Symfony\Component\Validator\Constraints\NotCompromisedPassword: ~它可以工作,但我想自定義錯(cuò)誤消息,例如,直接在我的約束密碼驗(yàn)證器上使用它.php:<?phpnamespace App\Validator\Constraints;use App\Entity\User;use Symfony\Component\Validator\Constraint;use Symfony\Component\Validator\Constraints\NotCompromisedPassword;use Symfony\Component\Validator\ConstraintValidator;class ConstraintPasswordValidator extends ConstraintValidator{    /**     * @param User $user     * @param Constraint $constraint     */    public function validate($user, Constraint $constraint)    {        if (strlen($user->getPlainPassword()) < 8 || strlen($user->getPlainPassword() < 35)) {            $this->context->buildViolation($constraint->lengthError)                ->addViolation();        }        // Doing something like that        $notCompromised = new NotCompromisedPassword();        $notCompromised->message = "My custom error message";       //Then, build the violation if password leaked    }}也許它需要在我的約束密碼中實(shí)例化和自定義.php?但我不知道如何<?phpnamespace App\Validator\Constraints;use Symfony\Component\Validator\Constraint;class ConstraintPassword extends Constraint{    public $lengthError = 'Erreur : La longueur du mot de passe doit être comprise entre 8 et 35 caractères';    public function validatedBy()    {        return \get_class($this).'Validator';    }    public function getTargets()    {        return self::CLASS_CONSTRAINT;    }}
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以在驗(yàn)證上傳遞該選項(xiàng)。message


App\Entity\User:

    properties:

        plainPassword:

            - Symfony\Component\Validator\Constraints\NotCompromisedPassword:

                message: "You error message"

但是,如果要將約束驗(yàn)證為驗(yàn)證器,則可以使用:


class MyValidator extends ConstraintValidator

{

    public function validate($value, Constraint $chain)

    {

        // Previous check...


        $groups = $this->context->getGroup();

        $violations = $this->context->getViolations();

        $current = $violations->count();


        // Execute the new constraint

        $this->context->getValidator()

            ->inContext($this->context)

            ->validate($value, new MyOtherConstraint(), $groups);


        // Check if the constraint has failed

        if ($violations->count() !== $current) {

            return;

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-09-17
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)