I have a create-view like this ...
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> @using (Html.BeginForm()) { @Html.ValidationSummary(null, new { @class = "validation" }) ... <input class="cancel" type="submit" value="OK" /> ... <input name="submit" type="submit" value="Save" /> }
... and the corresponding controller action:
[HttpPost] public ActionResult Create(string submit, MyViewModel myViewModel) { if (submit != null) // true, if "Save" button has been clicked { if (ModelState.IsValid) { // save model data return RedirectToAction("Index"); } } else // if "OK" button has been clicked { // Disable somehow validation here so that // no validation errors are displayed in ValidationSummary } // prepare some data in myViewModel ... return View(myViewModel); // ... and display page again }
I found that I can turn off client-side validation by setting class="cancel" to the "OK" button. It works great.
However, server-side validation is still in progress. Is there a way to disable it in the controller action (see Else-block in the Create action above)?
Thank you for your help!
source share