두 필드가 포함 된 간단한 양식이 있는데, 첫 번째 필드는 선택이고 두 번째 필드에는 첫 번째 필드의 도움으로 확인해야하는 값이 들어 있습니다 .추가 데이터베이스를 사용하여 다른 필드를 기반으로 필드를 확인하십시오.
비슷한 질문이 Symfony2 form validation based on two fields 인 것을 발견했으며 콜백 유효성 검사기를 사용하려고했습니다.
documentation을 읽었지 만 데이터베이스에 액세스 할 때이를 어떻게 사용할 수 있는지 알 수 없습니다.
유일한 방법은 유효성 검사 메서드를 정적으로 호출하는 것인데이 경우에는 컨트롤러의 컨텍스트가 느슨합니다. 예를 들어 데이터베이스에 액세스해야합니다.
이 관계에서 나는 Silex를 사용 중이며 Silex가 제공하는 서비스에 액세스하려고합니다.
양식이 어떤 클래스에도 매핑되어 있지 않으므로 다른 필드를 유효성 검사기에 전달할 방법이 없으므로 양식 자체가 잘못 표시됩니다.
달성 방법이 있습니까?
아니면 다른 접근 방법이 필요합니까?
조언과 링크 덕분에 아주 좋은 소리입니다. 당신의 대답에 대한 하나의 질문, 첫 번째 버전은 비행 중에 수업에 대해 뭔가를 가지고있었습니다. 그 방향으로 더 많은 정보를 주실 수 있습니까? 내 양식은 실제로 수업과 관련이 없습니다. – CSchulz
클래스를 생성하고, 폼 데이터를 설정하고, 유효성 검사 클래스 메타 데이터를 추가하고 이후 유효성 검사기 서비스에 전달하므로 기본적으로 폼에 어떤 매핑이 적용되는지 제거했습니다. 바퀴를 다시 발명하지 마십시오. 양식 데이터가 실제로 다른 클래스와 관련이 없더라도 ... OOP 방식으로 작성하고 클래스를 작성하십시오. 노력할만한 가치가 없습니다.하지만 심포니의 구성 요소를 익히고 익숙해지기를 원한다면 ... 그 모든 것을 함께 해결할 수 있습니다! :) – nifr