0

내가 가장 좋은 방법은 NDB 엔티티 속성의 유효성을 확인하는 데 무엇인지 궁금가 좋아 :AppEngine에 NDB 속성 검증

  • 날짜는 1 ~ 10
  • 사이에 있어야 미래
  • 등급 (정수 속성)에 있어야합니다
  • 다른 엔티티에 대한 참조는

나는 또한 제출 된 요청의 유효성을 검사 WTForms을 사용하고 있습니다 (예를 들어 book.category.active이 True이어야 함) 특정 속성 값이 있어야합니다,하지만 난 validat을 적용 할 이온은 또한 데이터 저장소 엔티티 자체와 같이 낮은 레벨에 있습니다.

기본적으로 내가 찾고있는 것은 데이터 스토어 엔티티에서 유효성 검사를 호출하여 유효한지 여부를 확인하는 것입니다. 유효 할 경우 엔티티를 데이터 저장소에 넣을 수 있지만 올바르지 않으면 유효성 검사를 성공적으로 수행하지 않은 유효성 검사기를 비롯한 잘못된 속성을 검색하려고합니다.

WTForms로 충분하지 않은 또 다른 이유는 내가 새로운 Cloud Endpoints를 경험하고 있다는 것입니다. 이 모델에서는 http 요청이 아닌 actial 엔티티를 수신합니다.

다른 AppEngine 사용자들은 어떻게 해결합니까?

+0

자바에서는 Hibernate Validator 및/또는 Spring 프레임 워크의 검증 메커니즘과 같은 것을 사용합니다. –

+1

질문이 무엇인지 잘 모릅니다. NDB Property 클래스를 서브 클래스 화하고 validate() 메소드를 정의 할 수 있습니다. 이것은 문서에 있지만 - 아마도 당신이 요구하는 것이 아닙니다. –

+0

안녕하세요 귀도, 예, 나는 문서에서 이것을 알아 차렸을 것입니다. 아마도 이것이 내가 사용해야 할 것입니다. 문서는 불행히도이 validate() 메서드를 사용하는 방법을 알지 못합니다. 예 : 엔티티가 유효한지 확인하는 방법이 있습니까? 그리고 어떤 속성이 유효하지 않은지 확인하려면? –

답변

0

이 방법이 항상 최선의 방법은 아니지만, 스스로 해결할 수는 있습니다. 그냥 reg-exs/mins 및 maxs 등으로 많은 속성을 사전 정의합니다. 속성이 너무 어려울 정도로 충분히 직선적 인 것처럼 보입니다.