php 편집자 Yuzai는 ozzo 검증 라이브러리를 사용하면 데이터 검증이 쉽게 이루어질 수 있다는 사실을 발견했습니다. 그러나 때로는 임베디드 구조의 검증 메소드를 호출해야 하는 상황에 직면할 수도 있습니다. 그러나 ozzo 유효성 검사 라이브러리의 설계 원칙은 코드 단순성과 가독성을 보장하기 위해 구조에 포함된 유효성 검사 메서드를 호출하지 않는 것입니다. 구조에 내장된 검증 방식으로 인해 검증 로직이 복잡해지고 코드 유지 관리의 어려움이 커질 수 있기 때문입니다. 따라서 ozzo 검증 라이브러리를 사용할 때 우리는 이 원칙을 따르고 코드를 명확하고 유지 관리하기 쉽게 유지하기 위해 적절한 검증 방법을 선택해야 합니다.
저는 "github.com/go-ozzo/ozzo-validation/v4"
을 사용하고 있습니다.
내 구조는 다음과 같습니다.
확인 방법은 다음과 같습니다.
으아악내가 보낸 요청은 다음과 같습니다.
으아악이 문제에 대해 func (m mystruct) verify()
를 호출하고 싶지만 myotherstruct 유효성 검사기 호출
로그가 표시되지 않습니다. func (m mystruct) validate()
,但我没有收到日志 calling myotherstruct validator
。
问题中的源代码与ozzo 验证 v4 返回在结构中找不到字段 #0。除此之外,您应该将以下代码添加到 (myotherstruct).validate
ozzo 유효성 검사 v4가 포함된 질문의 소스 코드는 구조에서 찾을 수 없는 필드 #0을 반환합니다. 이 외에도 (myotherstruct).validate
에 다음 코드를 추가해야 합니다.
이 데모를 사용해 보세요((mystruct).validate
,则 (myotherstruct).validate
不会被调用,因为前者对 myotherstruct
https://www.php.cn/link/9f29450d2eb58feb555078bdefe28aa5
위 내용은 ozzo를 사용한 검증은 내장된 구조의 검증 방법을 호출하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!