ASP MVC 3: проверка клиента не работает должным образом при отправке формы с использованием AJAXJquery

Программирование на jquery
Ответить
Anonymous
 ASP MVC 3: проверка клиента не работает должным образом при отправке формы с использованием AJAX

Сообщение Anonymous »

У меня есть следующий сценарий, у меня есть для этого, я отправляю с помощью AJAX, используя следующий код: < /p>

$("#cmdAjaxSave").click(function (evt) {
evt.preventDefault();
var $form = $('#frmItem');
if ($form.valid()) {
ajaxSave();
}
});

function ajaxSave() {
if (!onBeforeSubmit()) return; //item is not valid, so the ajax call should not be executed
//var token = $('[name=__RequestVerificationToken]').val();
popup('ajaxSplash');
$.ajax({
type: "POST",
url: '@Url.Action("Index")',
data: $("#frmItem").serialize(),
success: function (html) {
//console.log(html);
$("#formDiv").empty();
$("#formDiv").append(html);
initItemPage();
alert("Item was saved successfully");
},
error: function () { popup('ajaxSplash'); onFailure(); }
});
}
< /code>

Проблема, которую я вижу здесь, заключается в том, что, хотя «Frmitem» возвращает «true», когда я прибываю в клиенту, штат модель не является действительным. В частности, для трех свойств, которые на самом деле имеют правильное значение.@Html.TextBoxFor(model => model.Item.Service.CPC_BW, htmlAttributes: new { @class = "Text", @onkeyup = "validItem();", @id = "SrvCPCBlk" })
< /code>

фактически определяется так: < /p>

private double _CPC_BW;

[Required]
[Range(0, 100000, ErrorMessage = "CPC value required")]
public string CPC_BW { get { return String.Format("{0:F}", _CPC_BW); } set { _CPC_BW = Convert.ToDouble(value); } }
< /code>

Я думаю, что он сделал это, потому что Textboxfor не предлагает очевидного способа отформатировать число, и хотя он выглядит подозрительным, я не знаю, как это может вызвать ошибку.
@{Html.EnableClientValidation();}

@{ Html.RenderPartial("ItemData", Model, new ViewDataDictionary() { { "Machines", ViewBag.Machines }, { "WarehouseList", ViewBag.WarehouseList }, { WebConstants.FORM_ID_KEY, @ViewData[WebConstants.FORM_ID_KEY] } }); }


< /code>

Частичное представление содержит форму, которая представлена ​​в запросе Ajax. < /p>

Подробнее здесь: https://stackoverflow.com/questions/127 ... rm-using-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»