proto: check for required fields in encoding/decoding

Change-Id: I0555a92e0399782f075b1dcd248e880dd48c7d6d
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/170579
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/encoding/textpb/encode.go b/encoding/textpb/encode.go
index 4fd5d7d..2ea370f 100644
--- a/encoding/textpb/encode.go
+++ b/encoding/textpb/encode.go
@@ -353,7 +353,9 @@
 	}
 	em := emt.New().Interface()
 	// TODO: Need to set types registry in binary unmarshaling.
-	err = proto.Unmarshal(value.Bytes(), em)
+	err = proto.UnmarshalOptions{
+		AllowPartial: o.AllowPartial,
+	}.Unmarshal(value.Bytes(), em)
 	if !nerr.Merge(err) {
 		return text.Value{}, err
 	}