Javascript 远程jQuery验证不需要';Don’别开玩笑
我不想在提交表单后刷新页面,所以我使用了form.preventDefault();不要这样做。我想验证表单,然后(如果它有效的话)调用后端函数(通过ajax)向数据库插入新行 第一次提交时一切正常,但第二次验证时,它不会触发远程验证,因此当我尝试添加与上一次相同的下一个SN时,我能够做到这一点。我不明白为什么远程验证没有启动,而其他验证(如最小字符数/最大字符数)则在没有任何问题的情况下启动 代码:Javascript 远程jQuery验证不需要';Don’别开玩笑,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我不想在提交表单后刷新页面,所以我使用了form.preventDefault();不要这样做。我想验证表单,然后(如果它有效的话)调用后端函数(通过ajax)向数据库插入新行 第一次提交时一切正常,但第二次验证时,它不会触发远程验证,因此当我尝试添加与上一次相同的下一个SN时,我能够做到这一点。我不明白为什么远程验证没有启动,而其他验证(如最小字符数/最大字符数)则在没有任何问题的情况下启动 代码: 正如我所说的,当您第一次运行它(第一次提交)时,它是有效的。但是,如果您想再次执行此操作(当然
正如我所说的,当您第一次运行它(第一次提交)时,它是有效的。但是,如果您想再次执行此操作(当然不需要重新加载页面),则无需进行远程验证。我做到了。如果存在与上一个相同的值,jQuery验证器不会启动远程验证。在页面刷新时或通过重置功能重置。解决方案是使用:
var validator = $("#form").validate({ ... });
在成功验证调用后:
validator.resetForm();
我确实用过这个
jQuery.validator.addMethod("idTurnoEstaEnUso", function (value, element)
{
var url = '/nonrest/Turnos/IdTurnoValida';
var objetoIdTurno = { inputTextIdTurno: value };
var respuesta = null;
$.ajax({
async: false,
url: url,
type: 'post',
contentType: 'application/json',
data: ko.toJSON(objetoIdTurno),
success: function (data) {
if (data == true) {
respuesta = true;
} else {
respuesta = false;
}
},
error: function () {
respuesta = false;
}
});
if (respuesta == false) {
return this.optional(element) || respuesta;
}
if (respuesta == true) {
return this.optional(element) || respuesta;
}
}, "El código está ya en uso.");
是否动态添加第二个序列号字段?然后您必须使用Nope,SN字段是简单的HMTL输入,自第一页加载以来就存在。is
$(“#表单”)。验证({
调用一次或每次提交时调用?如何找到它?如果有帮助,所有验证块都是该代码。该插件与代码中显示的插件完全不同。标记时请更加小心。在submitHandler
回调中不需要任何.preventDefault()
和AFAIK,表单.preventDefault()
是无效代码,因为表单
不是事件。只要使用提交程序
,默认提交操作(和页面重新加载)总是会被阻止。
jQuery.validator.addMethod("idTurnoEstaEnUso", function (value, element)
{
var url = '/nonrest/Turnos/IdTurnoValida';
var objetoIdTurno = { inputTextIdTurno: value };
var respuesta = null;
$.ajax({
async: false,
url: url,
type: 'post',
contentType: 'application/json',
data: ko.toJSON(objetoIdTurno),
success: function (data) {
if (data == true) {
respuesta = true;
} else {
respuesta = false;
}
},
error: function () {
respuesta = false;
}
});
if (respuesta == false) {
return this.optional(element) || respuesta;
}
if (respuesta == true) {
return this.optional(element) || respuesta;
}
}, "El código está ya en uso.");