임베디드 형태의 전부 또는 아무것도 유효성 검사 오류 표시 : Optional embed form in Symfony 2 : 나는 엔티티 전화에 내장 된 형태를 가지고있는 개체 사람에 대한 양식을 가지고심포니 3 : 내가 여기에 설명 된대로 정확히 같은 문제가
. 사용자는 의 모든 필드를 비워 둘 수 있습니다. 전화은 비어 있으며 양식이 유효합니다. 그러나 단일 필드가으로 채워진 경우 모두 전화 -fields가 유효해야합니다. 내 첫 번째 방법 중
, 나는 단순히@Assert\NotNull()
없이
@Assert\Valid()
과 사람
의 전화 속성을 주석. 새로운 사람을 입력 할 때만 문제가 없습니다. 기존 사람을 편집 할 때 전화 속성이 이미 입력되어 있으면 전화 필드 (유효해야 함)를 모두 삭제해도 유효한 제출이되지 않습니다. 검증 콜백 기능 this solution의 검증 심포니 3에 대한 일부 수정과 함께 작동합니다
/**
*
* @Assert\Callback()
*/
public function validatePhone(ExecutionContextInterface $context)
{
if (/* Fields are not empty */)
{
$context->getValidator()->inContext($context)->validate($this->phone);
}
}
그러나 양식을 제출 한 후
는 전화 필드에 대한 유효성 검사 오류 페이지에 표시되지 않습니다. 디버그 툴바에서만 볼 수 있습니다.어쩌면 양식 제출 후 오류가 표시되도록하려면이 솔루션을 어떻게 수정해야합니까?
는하지만 재산 전화 null로 기존 사람 개체의을 설정 어떻게 든 가능하다면 어쩌면 내 첫 번째 방법은, 작동 할 수 있습니다, 전화의 모든 양식 필드가 삭제 된 경우?