diff --git a/validator_instance.go b/validator_instance.go index 10b9da2..29a22ba 100644 --- a/validator_instance.go +++ b/validator_instance.go @@ -210,7 +210,9 @@ func (v *Validate) RegisterStructValidationCtx(fn StructLevelFuncCtx, types ...i for _, t := range types { if reflect.ValueOf(t).Kind() == reflect.Ptr { - return fmt.Errorf("error") + return fmt.Errorf( + "Type must be a non-pointer, %s is a pointer", + reflect.TypeOf(t)) } } diff --git a/validator_test.go b/validator_test.go index 3d6692c..5763cc7 100644 --- a/validator_test.go +++ b/validator_test.go @@ -8154,6 +8154,8 @@ func TestStructLevelValidationsPointerPassing(t *testing.T) { v1 := New() err1 := v1.RegisterStructValidation(StructValidationTestStruct, &TestStruct{}) NotEqual(t, err1, nil) + Equal(t, err1.Error(), + "Type must be a non-pointer, *validator.TestStruct is a pointer") v2 := New() err2 := v2.RegisterStructValidation(StructValidationTestStruct, TestStruct{})