This example looks incomplete. The action just returns the view with the passed in model. This results in the Index view being rendered with the popup form closed and no validation messages visible. After clicking the "submit feedback" button a 2nd time the popup form shows the validation messages. That's not at all user friendly.
When Server Side validation fails, the user's view should not change. The popup form should remain on the screen. The only change should be the failed validation highlighting and messages.
I was able to get this functionality to work by using an Ajax form. I followed
these instructions to create the components. My window code looks like this:
_Create is my partial view with Html.AjaxForm code. You should be able to figure out the rest by following the examples. Make sure you have jquery.unobtrusive-ajax.js referenced or else your ActionResult will render in a new window instead of replacing the Form when validation fails.