1
Doğrulama için ek açıklama içeren bir sınıfa sahibim.Symfony API Varlık Doğrulaması
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serialize;
use Symfony\Component\Validator\Constraints as Assert;
use AppBundle\Annotation\Link;
/**
* @Serialize\ExclusionPolicy("all")
* @Serialize\AccessType(type="public_method")
* @Serialize\AccessorOrder("custom", custom = {"id", "name", "awardType", "nominations"})
* @ORM\Entity(repositoryClass="AppBundle\Repository\AwardRepository")
* @ORM\Table(name="awards")
* @Link("self", route = "api_awards_show", params = { "id": "object.getId()" })
*/
class Award extends Entity
{
/**
* @Serialize\Expose()
* @Serialize\Type(name="string")
* @Assert\Type(type="string")
* @Assert\NotBlank(message="Please enter a name for the Award")
* @Assert\Length(min="3", max="255")
* @ORM\Column(type="string")
*/
private $name;
/**
* @Serialize\Expose()
* @Serialize\Type(name="AppBundle\Entity\AwardType")
* @Serialize\MaxDepth(depth=2)
* @Assert\Valid()
* @ORM\ManyToOne(
* targetEntity="AppBundle\Entity\AwardType",
* inversedBy="awards"
*)
*/
private $awardType;
/**
* @Serialize\Expose()
* @Serialize\Type(name="ArrayCollection<AppBundle\Entity\Nomination>")
* @Serialize\MaxDepth(depth=2)
* @ORM\OneToMany(
* targetEntity="AppBundle\Entity\Nomination",
* mappedBy="award"
*)
*/
private $nominations;
}
Sonra aşağıdaki o varlık doğrulamak:
$validator = $this->get('validator');
$errors = $validator->validate($entity);
if (count($errors) > 0) {
$apiProblem = new ApiProblem(
400,
ApiProblem::TYPE_VALIDATION_ERROR
);
$apiProblem->set('errors', ['testing', 'array']);
throw new ApiProblemException($apiProblem);
}
$this->save($entity);
Bu sorun i hataları ve onların hata mesajı var hangi alanların hakkında bilgi alınamıyor olmasıdır çalışıyor. Bu durumda $ hataları herhangi bir alan için hata iletileri almak için görünmüyor olabilir bilinmeyen bir tür olarak görünüyor.
Bu nesnenin hata iletilerini nasıl alırım?
bu bana tüm hataları alacak veya bunun üzerinde duracak ilk hata? – Dblock247
Size tüm hataları verin – chalasr
Bilgileriniz için çok teşekkür ederiz. – Dblock247