2010-08-07 5 views
0

서로 의존하는 여러 테이블로가는 데이터의 유효성을 어떻게 검사해야합니까?여러 테이블의 데이터를 확인해야합니다 ... 어떻게해야합니까?

나는 사용자가 토론을 시작할 수있는 토론 사이트를 운영하고 있으며 토론을 통해 "설문 조사 옵션"을 제출함으로써 사람들이 토론에 응답 할 때 옵션을 선택할 수 있습니다.

유효성 검사 프로세스는 이렇게 진행되며 논쟁 모델은 토론 테이블에 특정한 열이 유효한지 (주제 및 본문) 유효성을 검사합니다. 옵션 모델은 토론과 함께 제공된 옵션이 유효한지 확인합니다 (텍스트). 카테고리 모델은 해당 토론에 대해 사용자가 제공 한 카테고리가 실제로 존재하는지 확인합니다.

나는 데이터베이스에 무엇인가를 추가하기 전에 모든 것이 존재하는지 확인합니다. 따라서 논쟁을 추가 할 때 카테고리가 존재하는지 확인해야합니다. 논쟁에 설문 조사 옵션을 추가 할 때 논쟁이 존재하는지 확인하고 싶습니다.

동시에 설문 조사 옵션을 사용하여 새 토론을 만들 때 문제가 발생합니다. 새로운 옵션을 추가하기 전에 토론이 이루어 지도록함으로써 catch-22로 끝납니다. 이 모두 유효하지 않으면 논쟁이 추가되지 않으므로 (따라서 존재하지 않을 것입니다), 토론 옵션이 존재하지 않으면 검증 옵션이 유효하지 않습니다. 왜냐하면 토론 할 ID가 필요하기 때문입니다.

설문 조사 옵션에서이 논리를 삭제해야합니까? 어떻게해야합니까?

+0

그러나 작성에서 논쟁이 존재하지 않는다고 판단 할 수있는 경우 설문을 수락하고 논쟁에 데이터를 삽입 한 다음 ID를 반환하고 설문 조사에 데이터를 삽입하십시오. – Prix

+0

어떤 언어입니까? 이 HTML과 JavaScript가 맞습니까? 더 나은 출석을 얻으려면 태그를 지정해야합니다. – BalusC

+0

그의 텍스트에서'모든 것이 데이터베이스에 추가되기 전에 모든 것이 존재하는지 확인하십시오. '즉 PHP 나 w/e 언어와 데이터베이스를 사용하고 있다는 것을 의미합니다. – Prix

답변

0

동일한 양식 제출을 사용하여 사용자가 토론 주제 및 설문 조사 옵션을 만들 수 없도록하십시오.

AJAX를 사용하여 사용자가 토론 주제를 먼저 작성하고을 생성 한 다음 동일한 페이지에 설문 조사 옵션을 만들 수 있도록하여 좋은 UX를 유지 관리 할 수 ​​있습니다. 설문 조사 옵션 양식은 토론 주제가 작성 될 때까지 회색으로 표시되거나 보이지 않을 수 있습니다.

유효성 검사 논리에 대안을 작성하면 코드를 테스트하고 유지 관리하기가 어려워집니다.

관련 문제