I had the same problem. It seems that the unobtrusive validation scripts were not loaded (see screenshot at the end). I fixed it by adding at the end of _Layout.cshtml
@Scripts.Render("~/bundles/jqueryval")
The end result:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)
Except for my pretty standard CRUD views everything is Visual studio project template defaults.
Loaded scripts after fixing the problem: