title: Form submitting DropDownListFor with Required field
body: <p>I have a dropdownlist from a table called StampsCSEMonths_test. Im trying to make the dropdown required before submitting the form.
  The problem it always submits the form no matter if I select or not.</p>
  
  <p>What could be the issue?
  View:</p>
  
  <pre><code>@model WINHRAdmin.Models.CTS_Stamps
  
      @using (Html.BeginForm())
      {
      @Html.AntiForgeryToken()
      @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  
       @Html.DropDownListFor(model =&gt; model.stampscsemonths_id, ViewBag.StampsCSEMonths_test as IEnumerable&lt;SelectListItem&gt;, "", new { @class = "form-control  " })
        @Html.ValidationMessageFor(model =&gt; model.stampscsemonths_id, "", new { @class = "text-danger" })
  
      }
  </code></pre>
  
  <p>Model:</p>
  
  <pre><code>namespace WINHRAdmin.Models
  {
      public class CommitmentToServiceModel
      {
  
      }
  
      public class CTS_Stamps
      {
          [Required]
          [Range(1,Int32.MaxValue,ErrorMessage ="MonthYerar is required")]
          public int? stampscsemonths_id { get; set; }
      }
  
  
  }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>public ActionResult CTS_Stamps()
  {
  
    ViewData["StampsCSEMonths_test"] =
  
     new SelectList((from s in _IntranetEntities.StampsCSEMonths_test.OrderByDescending(x =&gt; x.stampscsemonths_id).ToList()
                     select new
                     {
                         stampscsemonths_id = s.stampscsemonths_id,
                         FullName = s.month + "/" + s.year
                     }),
         "stampscsemonths_id",
         "FullName",
         null);
  
  
      LoadEmployeer();
      return View();
  }
  
  
  [HttpPost]
  
  public ActionResult CTS_Stamps(FormCollection collection)
  {
  
      var testvar = collection["stampscsemonths_id"];//after submission it does get the value of ID
  
      return View();
  }
  </code></pre>