0
有人可以幫助我。 我無法讓我的jQuery UI對話框進行驗證。 我試圖找到一個解決方案在這個網站和無數其他人,但雖然每個人似乎都有某種解決方案,我不能讓他們任何工作。 我的理解是,有時候很難描述一個問題,所以我寫了一個完整的應用程序,其中包含了希望弄清楚的最低必要條件。 在VIEW中,有一個警報(「保存」);我不希望看到這個對話框應該防止這種情況發生。 任何建議將非常感激地收到。與部分視圖jQuery ui對話框將不驗證(MVC3)
CONTACTMESSAGE
using System.ComponentModel.DataAnnotations;
namespace TestValidation.Models
{
public class ContactMessage
{
[Required(ErrorMessage = "Message is Requried")]
public string Message { get; set; }
}
}
控制器:
namespace TestValidation.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Edit()
{
return PartialView("MessageForm",
new ContactMessage{Message="Test"});
}
public ActionResult Save()
{
return Content("Saved");
}
}
}
VIEW:
@model TestValidation.Models.ContactMessage
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>ViewPage1</title>
<link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="Stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
</head>
<body>
<a href="#" id="editButton">Dialog</a>
<div id="Placeholder" title=""></div>
</body>
</html>
<script type="text/javascript">
$(function() {
$("#Placeholder").dialog({
autoOpen: false, width: 400, height: 330, modal: true,
buttons: {
"Save": function() {
$.post("/Home/Save",
$("#EditForm").serialize(),
function (data) {
alert("saved");
$("#Placeholder").dialog("close");
});
},
Cancel: function() { $(this).dialog("close"); }
}
});
$("#editButton").click(function() {
$("#Placeholder").html("")
.dialog("option", "title", "Edit Message")
.load("/Home/Edit/", function() {
$("#Placeholder").dialog("open");
});
});
});
</script>
局部視圖:
@model TestValidation.Models.ContactMessage
<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("null", "null", FormMethod.Post, new { id = "EditForm" }))
{
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.Message)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Message)
@Html.ValidationMessageFor(model => model.Message)
</div>
}
Hello Praveen。請你能告訴我我應該把你提到的那條線放在哪裏。我試圖把它放在幾個地方,但似乎沒有任何工作。如果它有幫助,我會用行號重新發布我的問題。 –