ホームページ >バックエンド開発 >Golang >ozzo 検証 v4 が構造内に見つからないフィールド #0 を返します

ozzo 検証 v4 が構造内に見つからないフィールド #0 を返します

王林
王林転載
2024-02-11 11:00:09634ブラウズ

ozzo 验证 v4 返回在结构中找不到字段 #0

PHP で Ozzo 検証 v4 を使用すると、「ozzo 検証 v4 が構造内にフィールド #0 を返しませんでした」という一般的なエラー メッセージが表示されることがあります。このエラー メッセージは、バリデーターがデータ構造内で指定されたフィールドを見つけることができないことを示します。これは、フィールド名が間違っている、データ構造が一致していない、または検証ルールが正しく設定されていないことが原因である可能性があります。この問題を解決する前に、コードと検証ルールを再チェックして、フィールド名が正しく指定されていること、およびデータ構造と一致していることを確認する必要があります。注意深くトラブルシューティングとデバッグを行うことで、この問題を簡単に解決し、コードをスムーズに実行できるようになります。

質問内容

"github.com/go-ozzo/ozzo-validation/v4"を使用しています。 これが私の構造です:

リーリー

これは検証方法です:

リーリー

これは私が送信したリクエストです:

リーリー

次のエラーが発生します:

type mystruct struct {
    uuid          string `json:"uuid"`
    firstuuid     string `json:"first_uuid"`
    seconduuid    string `json:"second_uuid"`
    thirduuid     string `json:"third_uuid"`
    phonenumber   string `json:"phone_number"`
    email         string `json:"email"`
    skypeid       string `json:"skype_id"`
    city          string `json:"city"`
    comment       string `json:"comment"`
    personnelid   string `json:"personnel_id"`
    firstdate     string `json:"first_date"`
    seconddate    string `json:"second_date"`
    firstboolean  bool   `json:"first_boolean"`
    secondboolean bool   `json:"second_boolean"`
}

Solution

validatestruct 最初のパラメータは structptr:

です。 リーリー

このパラメータがコードにありません。残念ながら、コンパイラはそのようなエラーを捕捉できません。

これは修正された実装です (uuim である必要があることに注意してください):

リーリー

以上がozzo 検証 v4 が構造内に見つからないフィールド #0 を返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。