diff --git a/WebCms/Controllers/LeafInputController.cs b/WebCms/Controllers/LeafInputController.cs index 4c2e2c4..da18857 100644 --- a/WebCms/Controllers/LeafInputController.cs +++ b/WebCms/Controllers/LeafInputController.cs @@ -34,9 +34,10 @@ namespace LeafWeb.WebCms.Controllers if (!files.Any()) ModelState.AddModelError("Files", "Must select at least one file"); - // TODO: this keeps randomly not being mapable because string->bool binding fails. WHY - if (ModelState.ContainsKey("TermsOfService")) - ModelState["TermsOfService"].Errors.Clear(); + if (ModelState.ContainsKey("TermsOfService")) + { + ModelState.Remove("TermsOfService"); + } var membershipHelper = new Umbraco.Web.Security.MembershipHelper(UmbracoContext.Current); var member = membershipHelper.GetCurrentMember(); diff --git a/WebCms/Views/LeafInput/Create.cshtml b/WebCms/Views/LeafInput/Create.cshtml index 59ba415..d4bb61f 100644 --- a/WebCms/Views/LeafInput/Create.cshtml +++ b/WebCms/Views/LeafInput/Create.cshtml @@ -22,6 +22,7 @@

Files

+ @Html.Partial("_ValidationField", "Files")
@@ -56,12 +57,12 @@ @*
 
*@
- @Html.Partial("_ValidationField", "Files")
+ @using (Html.BeginUmbracoForm("Submit", null, new { id = "create" })) { diff --git a/WebCms/Views/Shared/_ValidationField.cshtml b/WebCms/Views/Shared/_ValidationField.cshtml index ebed0f3..9033bfd 100644 --- a/WebCms/Views/Shared/_ValidationField.cshtml +++ b/WebCms/Views/Shared/_ValidationField.cshtml @@ -1,12 +1,9 @@ @model string @{ var fieldName = Model; + var modelState = ViewData.ModelState[fieldName]; } -@if (ViewData.ModelState[fieldName] != null - && ViewData.ModelState[fieldName].Errors.Any()) +@foreach (var error in modelState?.Errors ?? new ModelErrorCollection()) { - foreach (var error in ViewData.ModelState[fieldName].Errors) - { -
@error.ErrorMessage
- } -} \ No newline at end of file +
@error.ErrorMessage
+} diff --git a/WebCms/scripts/LeafInputCreate.js b/WebCms/scripts/LeafInputCreate.js index 0f428f2..54d670b 100644 --- a/WebCms/scripts/LeafInputCreate.js +++ b/WebCms/scripts/LeafInputCreate.js @@ -11,7 +11,8 @@ "Confirm": function () { $("#confirmCreate") .next(".ui-dialog-buttonpane button:contains('Confirm')") - .attr("disabled", true); + .attr("disabled", true) + .addClass("ui-state-disabled"); form.submit(); }, "Cancel": function () {