如何允许零 (0) 值

Pos*_*plo 3 validation go go-echo

AgreementNo int`json:"agreement_no" validate:"required"`
Run Code Online (Sandbox Code Playgroud)

我想从greece_no请求中获得零值。仍然需要,但得到零值,因此 json 请求 null 不允许。但在 echo 中验证不允许零值。

如何在不删除所需验证的情况下获得此值或有任何解决方案?

Nob*_*bbs 5

AgreementNo int`json:"agreement_no" validate:"required"`
Run Code Online (Sandbox Code Playgroud)

验证器无法找到默认零值和从 json 解析的 0 之间的差异,因此它将所有零值解释为空。对于布尔值、字符串等也会发生同样的情况。

解决方法是使用指针而不是普通类型。

AgreementNo *int`json:"agreement_no" validate:"required"`
Run Code Online (Sandbox Code Playgroud)