Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证失败后,如何进行ajax调用?_C#_Jquery_Validation_Asp.net Mvc 4_Knockout.js - Fatal编程技术网

C# 验证失败后,如何进行ajax调用?

C# 验证失败后,如何进行ajax调用?,c#,jquery,validation,asp.net-mvc-4,knockout.js,C#,Jquery,Validation,Asp.net Mvc 4,Knockout.js,我让敲除器对这个输入进行验证。。我想。我无法设置任何中断,但它会从$root.ValidationMessages.Object发送静态文本 下面是输入元素 <input id="objectNumber" name="objectNumber" class="setsize ats-ccnumber valid" type="text" placeholder="Number" data-bind="value: PaymentOptions.Object.Number> }

我让敲除器对这个输入进行验证。。我想。我无法设置任何中断,但它会从$root.ValidationMessages.Object发送静态文本

下面是输入元素

<input id="objectNumber" name="objectNumber" class="setsize ats-ccnumber valid" 
type="text" placeholder="Number" 
data-bind="value: PaymentOptions.Object.Number>
})

下面是addObjectValidation Javascript

function addObjectNumValidation(callback, message, element) {
$(element).rules("add", { required: function (x) { return !$(x).attr('disabled') && callback(); }, number2 : function () { return { objectType: $('#objectType').val(), required: !$(x).attr('disabled') && callback() }; }, messages: { required: message, creditcard2: message} });
var messages = $.data(element, 'validationMessages') || [];
messages.push(message);
$.data(element, 'validationMessages', messages);
}


我看不出这在哪里得到验证。第一次接触击倒。如果可能的话,有人能解释一下发生了什么,以及如何在验证失败后但在清除字段之前立即发送ajax调用吗?

验证由JQuery验证完成。它完全独立于KnockoutJS,与KnockoutJS无关

要在每次验证表单时获取验证失败,请侦听
无效表单
事件,然后访问JQuery验证的errorList成员

$("form").on("invalid-form", function (e) {
    console.log($(e.target).validate().errorList);
});

顺便说一句,如果可能的话,我建议您将JQuery验证替换为敲除验证。

使用插件比使用JQuery验证本身要好得多。它支持使用AJAX调用进行远程验证。它还基于JQuery验证,因此大多数验证规则都是相同的

在数字有效后是否有理由执行ajax请求?最好的做法是在点击按钮时只使用ajax执行信用卡post。也就是说,每次失败的表单输入尝试都需要数据库日志记录。我束手无策。。我现在感觉更糟了。
$("form").on("invalid-form", function (e) {
    console.log($(e.target).validate().errorList);
});