Skip to content

Combine required_if with a validation rule #162

@OscarVanL

Description

@OscarVanL

Hi,

I have a field that is only present if another field has a certain value.

type A struct {
    Type string `validate:"in:B,C"`
    B
    C
}

type B struct {
    ID string `validate:"required_if:A.Type,B|uuid4"
}

So B's ID must be a UUID, but only if A's type is B.

So this is allowed:

A{
    Type: "B", 
    B: {
        ID: "94e48bd3-e990-405e-bd10-304e767cd3fd"
    },
}

But this is not allowed:

A{
    Type: "C", 
    B: {
        ID: "94e48bd3-e990-405e-bd10-304e767cd3fd"
    },
}

And this is not allowed:

A{
    Type: "B", 
    B: {
        ID: ""
    },
}

Do you know how I would achieve this with your library? Thank you!

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions