Ich habe eine Dns
Einheit, die ein content
Feld mit einer NotBlank
Einschränkung hatFosRestBundle PATCH Aktion + Einheit Feld mit NotBlank Einschränkung
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=true)
* @Assert\Regex("/^(([[:alnum:]-_]+(\.[[:alnum:]-_]+)*)|(\*))$/u")
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="content", type="string", length=64000, nullable=true)
* @Assert\NotBlank
* @Assert\Length(max="64000")
*/
private $content;
ich eine Arbeits PATCH
Aktion mit FosRestBundle
/**
* @ParamConverter("updatedRecord", converter="fos_rest.request_body")
*/
public function patchAction(PowerDNSDomain $domain, PowerDNSRecord $record, PowerDNSRecord $updatedRecord, ConstraintViolationListInterface $validationErrors)
{
if ($validationErrors->count() > 0) {
return $this->handleBodyValidationErrorsView($validationErrors);
}
$record->setName($updatedRecord->getName())
->setContent($updatedRecord->getContent())
->setTtl($updatedRecord->getTtl())
->setPrio($updatedRecord->getPrio());
$this->get('manager.dns')->saveRecord($record);
return $this->view($record);
}
gemacht habe
Wenn Ich versuche, einen Eintrag zu aktualisieren, ohne das content
Feld zu ändern, ich bekomme den folgenden Fehler wegen meiner NotBlank
Einschränkung.
{ "Fehler": "validation_failed", "ERROR_DESCRIPTION": "Validierungsdaten fehlgeschlagen Bitte unten angegebenen Fehler überprüfen.", "validation_errors": { "content": [ „kann dieser Wert nicht sei null. " ] } }
Dies ist das gleiche mit NotNull
Zwang zu tun.
Ich versuche PATCH ein Eintrag ohne Änderung der content
Feld.
Ist es möglich, meine Einschränkung in der Entity zu halten oder muss ich einen anderen Weg verwenden?