2016-10-07 3 views
1

에서 저장 또는 업데이트를 취소합니다. after-has test.and가 지속되면 작업을 취소하고 싶습니다. 어떻게 리디렉션 목표를 헛되이 시도했는지 알 수 없습니다.prePersist

/** 
* @param mixed $object 
*/ 
public function prePersist($object) 
{ 
    if (is_null($object->getFile())) { 
    } 
} 

어떤 도움이 필요합니까?

+1

두려워, 당신은 제약 검증 대신 http://symfony.com/doc/current/validation.html – yceruto

+0

내가, 당신이 예외를 throw 할 수 갈까요 생각하지만 아무것도를 사용해야합니다 덜 확신 ... – Hammerbot

+2

감사합니다 @Yonel! 나는 문제를 다음과 같이 추가하여 해결했다 : * @Assert \ NotNull() private $ file; –

답변

0

아마도 조금 늦은 것 같습니다. 나는 똑같은 것을 찾고 있었기 때문에, 여기 나의 해결책이있다.

Sonatas prePersist 메서드에서 유효성 검사를 수행 할 수없는 것으로 보입니다.

간단한 NotNull 유효성 확인을 위해 엔티티에 간단한 유효성 검증 제한 조건을 추가하거나 필드가 양식 요소 자체에 맵핑되지 않은 경우를 고려하십시오.

소나타 저장 프로세스 중에 추가 검증을 수행하려면 validate 메소드를 대체하십시오. 이 메서드는 prePersis/preUpdate 메서드보다 먼저 호출되며 유효성 검사 메시지를 추가 할 수 있습니다. 거기에서 불가능

use Sonata\CoreBundle\Validator\ErrorElement; 

public function validate(ErrorElement $errorElement, $object) 
{ 
    $errorElement->with('file')->addViolation('Hey, this is a validation message'); 
} 
관련 문제