diff --git a/reviewboard/static/rb/js/views/reviewRequestEditorView.es6.js b/reviewboard/static/rb/js/views/reviewRequestEditorView.es6.js
index 6d1bcf692c846ffd9ac06f520dc48b95e19ab27e..7f6c2d759d19c05be1d941c5f5d97d9b8a7deb98 100644
--- a/reviewboard/static/rb/js/views/reviewRequestEditorView.es6.js
+++ b/reviewboard/static/rb/js/views/reviewRequestEditorView.es6.js
@@ -479,6 +479,21 @@ RB.ReviewRequestEditorView = Backbone.View.extend({
         }
     },
 
+    /**
+     * Return the view for the field with the given ID.
+     *
+     * Args:
+     *     fieldID (string):
+     *        The ID of the field.
+     *
+     * Returns:
+     *     RB.ReviewRequestFields.BaseFieldView:
+     *     The view which handles editing for the field.
+     */
+    getFieldView(fieldID) {
+        return this._fieldViews[fieldID];
+    },
+
     /**
      * Render the editor.
      *
diff --git a/reviewboard/static/rb/js/views/tests/reviewRequestEditorViewTests.js b/reviewboard/static/rb/js/views/tests/reviewRequestEditorViewTests.js
index 41dc02301b3465bd9683aba963fcf19b38e5a98f..0ca44cd26accfd9ece7332202bcffce97047ff51 100644
--- a/reviewboard/static/rb/js/views/tests/reviewRequestEditorViewTests.js
+++ b/reviewboard/static/rb/js/views/tests/reviewRequestEditorViewTests.js
@@ -289,7 +289,7 @@ suite('rb/views/ReviewRequestEditorView', function() {
                 });
 
                 it('Show when saved', function() {
-                    var summaryField = view._fieldViews.summary,
+                    var summaryField = view.getFieldView('summary'),
                         summaryEditor = summaryField.inlineEditorView;
 
                     expect(view.banner).toBe(null);
@@ -666,7 +666,7 @@ suite('rb/views/ReviewRequestEditorView', function() {
                                          : jsonFieldName + '_text_type');
                 supportsRichText = !!options.supportsRichText;
                 useExtraData = options.useExtraData;
-                fieldView = view._fieldViews[options.fieldID || options.jsonFieldName];
+                fieldView = view.getFieldView(options.fieldID || options.jsonFieldName);
                 fieldEditor = fieldView.inlineEditorView;
                 $field = view.$(options.selector);
                 $input = fieldEditor.$field;
@@ -1382,6 +1382,18 @@ suite('rb/views/ReviewRequestEditorView', function() {
         });
     });
 
+    describe('Methods', function() {
+        describe('getFieldView', function() {
+            it('Correct field is returned', function() {
+                var fieldView = view.getFieldView('target_groups');
+                expect(fieldView).not.toBe(undefined);
+                expect(fieldView.fieldID).toBe('target_groups');
+
+                expect(view.getFieldView('some_random_id')).toBe(undefined);
+            });
+        });
+    });
+
     describe('Screenshots', function() {
         describe('Importing on render', function() {
             it('No screenshots', function() {
