0
我想獲得validationmessage工作時,對話框加載一個部分視圖,但有驗證錯誤,我有這個問題。MVC-使用validationmessagefor在jquery對話框中的錯誤
這裏是js代碼的一部分:
buttons: {
"Save": {
text: 'Save',
class: 'dialogBtnBlue',
click: function (event, ui) {
var form = $('#dayoff');
$.ajax({
cache: false,
async: true,
type: "POST",
url: form.attr('action'),
data: form.serialize(),
success: function() {
$("#newHolidayWindow").dialog('close');
},
complete: function() {
$('#_page_'+ counter).load("PublicHolidaysTable", { id: id, page: counter });
},
error: function() {
// HERE
},
我需要這個錯誤發生,當我與「警報(」填場「)進行測試,它的工作原理,我不得不做的是正確設置它,但我不知道如何做,我已經嘗試了很多東西。
這裏是視圖:
@model Coats.TimeOFFEntMvcWeb.Models.Days_Off
<div class="grid" style="width: 600px !important;margin-top: -30px;">
@using (Html.BeginForm("AddNewPublicHoliday_Create", "Administration", FormMethod.Post, new { id = "dayoff" }))
{
@Html.ValidationSummary(true)
<div class="row">
<h3 style="font-weight: bold">Adding Public Holiday</h3>
</div>
<div class="row">
<h3>Date</h3>
<h4>Select public holiday date.</h4>
<div class="input-control text span3" >
@Html.DisplayFor(model => model.Region_ID)
@Html.EditorFor(model => model.Date)
@Html.ValidationMessageFor(model => model.Date)
</div>
</div>
<div class="row" style="width: 800px">
<h3>Title</h3>
<h4>Fill in public holiday name.</h4>
@Html.HiddenFor(model => model.Region_ID)
<div class="input-control text span3">
@Html.EditorFor(model => model.Days_Off_Name)
@Html.ValidationMessageFor(model => model.Days_Off_Name)
</div>
</div>
}
</div>
<script src="~/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
2個動作用於此:
public ActionResult AddNewPublicHoliday(long id)
{
Days_Off day = new Days_Off() { Region_ID = id };
return PartialView(day);
}
[HttpPost]
public ActionResult AddNewPublicHoliday_Create(Day_Off day)
{
db = new Entities();
db.Days_Off.Add(day);
db.SaveChanges();
return RedirectToAction("Index");
}
對話框負載AddNewPublicHoliday(這是我想要的驗證消息顯示,因爲他們將在常規頁面上)。您可以看到,AddNewPublicHoliday_Create僅以Post方式存在,並由beginform調用。
任何建議我應該如何做到這一點,而不是徹底改變我的js代碼的樣子?
雖然這可能也可能是問題的一部分,但我也有麻煩,應該在'錯誤'之後放入js代碼,在那裏評論// HERE。我只是通過操作加載相同的視圖? –
這是警告用戶有錯誤並且無法加載視圖的地方。例如,您可以顯示消息錯誤(使用警報或顯示錯誤的div) – binard