@@ -949,6 +949,38 @@ func TestStructPartial(t *testing.T) {
949949 NotEqual (t , errs , nil )
950950 AssertError (t , errs , "TestPartial.Anonymous.SubAnonStruct[0].Test" , "TestPartial.Anonymous.SubAnonStruct[0].Test" , "Test" , "Test" , "required" )
951951
952+ // Test for unnamed struct
953+ testStruct := & TestStruct {
954+ String : "test" ,
955+ }
956+ unnamedStruct := struct {
957+ String string `validate:"required" json:"StringVal"`
958+ }{String : "test" }
959+ composedUnnamedStruct := struct { * TestStruct }{& TestStruct {String : "test" }}
960+
961+ errs = validate .StructPartial (testStruct , "String" )
962+ Equal (t , errs , nil )
963+
964+ errs = validate .StructPartial (unnamedStruct , "String" )
965+ Equal (t , errs , nil )
966+
967+ errs = validate .StructPartial (composedUnnamedStruct , "TestStruct.String" )
968+ Equal (t , errs , nil )
969+
970+ testStruct .String = ""
971+ errs = validate .StructPartial (testStruct , "String" )
972+ NotEqual (t , errs , nil )
973+ AssertError (t , errs , "TestStruct.String" , "TestStruct.String" , "String" , "String" , "required" )
974+
975+ unnamedStruct .String = ""
976+ errs = validate .StructPartial (unnamedStruct , "String" )
977+ NotEqual (t , errs , nil )
978+ AssertError (t , errs , "String" , "String" , "String" , "String" , "required" )
979+
980+ composedUnnamedStruct .String = ""
981+ errs = validate .StructPartial (composedUnnamedStruct , "TestStruct.String" )
982+ NotEqual (t , errs , nil )
983+ AssertError (t , errs , "TestStruct.String" , "TestStruct.String" , "String" , "String" , "required" )
952984}
953985
954986func TestCrossStructLteFieldValidation (t * testing.T ) {
0 commit comments