우리는 postgresql 데이터베이스로 마이그레이션 중이며 최대한 많은 제약 조건 검사를 사용하려고합니다. 문제는 웹 양식의 유효성을 검사 할 때 복제 코드가 많이 유지되어 유지 관리가 어려울 때입니다. 웹 양식 유효성 검사에도이 데이터베이스 검사를 사용할 수 있습니까? 응용 프로그램은 PHP로 작성되었으며 데이터베이스 계층은 pomm입니다. 목표는 모든 채워진 값을 잡고 데이터베이스에 보내고 PHP 응용 프로그램에서 추가 규칙을 정의하지 않고 실패한 제약 조건을 모두 얻는 것입니다. 가장 간단한 방법은 어떻게하면됩니까?폼 유효성 검사를 위해 postgres 제약 조건을 사용합니다.
1
A
답변
1
데이터 제약 조건은 데이터가 일관된 방식으로 저장되도록하기위한 것입니다. 양식 유효성 검증은 기능별 컨텍스트에 따라 다른 규칙을 가질 수 있습니다. Imho는 양식의 유효성을 검사하기 위해 데이터베이스 제약 조건에 의존하는 것이 좋지 않습니다 (저는이를 위해 Symfony validator 구성 요소를 사용합니다).
순전히 기술적 인 관점에서 보면, 유효성 검사 계층으로 데이터베이스를 사용하려는 경우 가장 어려운 부분은 데이터를 삽입/업데이트 할 수없는 이유를 추출하는 것입니다. 예외 메시지에서이 정보를 얻을 수 있다고해도 모든 필드가 괜찮을 때까지 하나씩 필드의 유효성을 검사합니다.
아직 가고 싶다면 Pomm\Exception
을 붙잡고 SQL error 코드를 가져 오십시오.
희망이 있습니다.
관련 문제
- 1. struts2에서 유효성 검사를 비활성화하고 사용자 정의 된 유효성 검사를 사용합니다.
- 2. Primefaces 버튼의 폼 유효성 검사를 건너 뜁니다.
- 3. MVC 폼 유효성 검사를 해제하는 방법
- 4. 브라우저의 폼 유효성 검사를 어떻게 해제합니까?
- 5. 어떻게 장고 폼 유효성 검사를 동적으로 만드나요?
- 6. 제약 조건을 적용하기 위해 열을 복제 하시겠습니까?
- 7. 프로그래밍 로직을 고려하기 위해 제약 조건을 선언합니다.
- 8. django 폼 유효성 검사를 새 폼 인스턴스에서 무시
- 9. WPF : 유효성 검사를 위해 장식자를 사용하는 방법?
- 10. Symfony2 : 제약 조건을 서로 다르게 만듭니다.
- 11. 왜 모델에서 데이터베이스 제약 조건을 반복합니까?
- 12. 입력 유효성 검사를 위해 NULL을 반환합니다.
- 13. Symfony2 : 어떻게 폼 캐스케이드 유효성 검사를 비활성화 할 수 있습니까?
- 14. JSP에서 양식 유효성 검사를 위해 javascript를 사용할 수 있습니까?
- 15. 검증 JQuery와 유효성 검사를 위해 함께 추가
- 16. 유효성 검사를 위해 Sybase 해시 + convert (varchar, ...)?
- 17. 유효성 검사를 위해 조건부 필수 속성
- 18. 클라이언트 측 유효성 검사를 위해 ErrorMessage 전달
- 19. 제약 조건을 해제하려면 어떻게해야합니까?
- 20. MySQL에서 제약 조건을 확인하십시오.
- 21. 제약 조건을 사용하여 최적화
- 22. 제약 조건을 추가하기 위해 alter table 문을 작성하는 방법
- 23. ASP.Net WebForm (bassistance.de 폼 유효성 검사)을 사용하여 MasterPage에서 폼 유효성 검사를 구현하는 방법
- 24. 고유 한 제약 조건을 위반하는 행
- 25. Symfony2에서 제약 조건 실패시 유효성 검사를 중지하는 방법
- 26. 유효성 검사를 위해 jQueryMobile에서 양식 제출 처리기를 사용하지만 전송을 막으십시오.
- 27. 일치 제약 조건을 사용하는 grails 유효성 검사 - regex
- 28. Java Bean 유효성 검사 - 제약 조건을 동적으로 적용
- 29. JPA에서이 제약 조건을 어떻게 표현합니까?
- 30. 데이터 제약 조건을 테이블에 작성하기
데이터베이스 제한은 여러 개의 앱을 데이터베이스에 쓰는 경우에 유용합니다. 앞서 언급 한 것처럼 양식 유효성 검사를 위해 웹 프레임 워크를 사용하는 것이 더 좋습니다. 데이터베이스 유효성 검사는 마지막 수단이어야합니다. – mys
감사합니다. 가능한 한 많은 논리를 데이터베이스로 옮기는 것이 매우 영리 할 것이라고 생각했지만, 형식은 일반적으로 데이터 자체와는 다른 검증이 필요합니다. 데이터베이스에 많은 앱을 쓰고 있으므로 제약 조건이 실제로 필요합니다. –
@PeterKrejci true! 나는 시간이 지남에 따라 변화하지 않는 유일한 로직 (데이터베이스, slugification, 인증, 데이터 순서 ...)을 사용한다. – greg