Puncte:2

addViolation() este depreciat: cum se înlocuiește?

drapel sa

Cum să adaptezi următorul cod pentru a evita deprecierea addViolation() conform https://www.drupal.org/node/3238432 ?

clasa MyValidator extinde ConstraintValidator {

  validare funcție publică($articole, Constrângere $constrângere) {
    dacă (!$this->isValid($articole)) {
      $this->context->addViolation($constraint->message); // Cum se adaptează această linie?
    }
  }
}
4uk4 avatar
drapel cn
Cred că mesajul de depreciere este o alarmă falsă. Spre deosebire de metodele menționate în înregistrarea modificării, addViolation() nu este marcat ca intern în Symfony 6 și dacă Drupal elimină această metodă, o vor înlocui cu cod Symfony.
Baud avatar
drapel sa
mulțumesc. Asta înseamnă că codul de depreciere a fost adăugat în mod fals la metoda addViolation()... Un fel de eroare Core aș spune?
4uk4 avatar
drapel cn
Nu este adăugat în mod fals, este clar că vor să elimine această implementare a metodei. Acest lucru nu schimbă utilizarea metodei, totuși, este folosită în același mod în Symfony.
Puncte:2
drapel us

Codul afișat în întrebare nu trebuie schimbat: O dată Începeți să utilizați clasa Symfony\Component\Validator\ValidatorBuilder în loc de clasele copiate e reparat, $this->context nu va mai conține o instanță de \Drupal\Core\TypedData\Validation\ExecutionContext dar \Symfony\Component\Validator\Context\ExecutionContext.
După cum spune documentația, clasele care se extind ConstraintValidator ar trebui doar să presupună asta $this->context este un obiect implementat ExecutionContextInterface, nu care clasă este folosită de fapt. Cu această ipoteză, modificările introduse de acea problemă nu vor influența clasele de validator contrain (cu excepția faptului că mesajul de depreciere nu va mai fi declanșat).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.