Formvalidation ajax 无法读取未定义的 属性 'message'
Formvalidation ajax cannot read property 'message' of undefined
我正在使用 formvalidation.io 插件,我正在尝试验证一个字段在数据库 table 中是否唯一。我已经完成了比较,并且我正在使用 ajax 返回结果(唯一与否)。
我使用 formvalidation 插件 (http://formvalidation.io/validators/callback) 中的 'callback validator'。
这是我的代码:
callback: { //check documento no repetido
message: 'Ya existe un estudiante con el mismo número de documento',
callback: function (value, validator, $field) {
var url = "documento-existe";
$.ajax({
type: "POST",
url: url,
data: $("#numero_documento").serialize(),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(data)
{
console.log(data);
return data;
}
});
}
}
此代码在 javascript 控制台中给我一个错误 ncaught TypeError: Cannot read property 'message' of undefined
。
为什么会出现这个错误?
我知道有一个来自 formvalidation 插件的 'remote validator' 来做 ajax-through 验证(http://formvalidation.io/validators/remote/),但我正在使用 Laravel,我必须发送ajax headers (X-CSRF-TOKEN),并且 'remote validator' 没有发送 ajax headers.
的能力
最后 'remote' 方法接受 header。它没有在文档中指定。
我的解决方案是:
remote: {
message: 'Ya existe un estudiante con el mismo número de documento',
url: 'documento-existe',
type: 'POST',
data: function() {
return {
numero_documento: $("#numero_documento").val()
};
},
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}
无论如何,我不喜欢控制台中的这个警告:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
我正在使用 formvalidation.io 插件,我正在尝试验证一个字段在数据库 table 中是否唯一。我已经完成了比较,并且我正在使用 ajax 返回结果(唯一与否)。 我使用 formvalidation 插件 (http://formvalidation.io/validators/callback) 中的 'callback validator'。 这是我的代码:
callback: { //check documento no repetido
message: 'Ya existe un estudiante con el mismo número de documento',
callback: function (value, validator, $field) {
var url = "documento-existe";
$.ajax({
type: "POST",
url: url,
data: $("#numero_documento").serialize(),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(data)
{
console.log(data);
return data;
}
});
}
}
此代码在 javascript 控制台中给我一个错误 ncaught TypeError: Cannot read property 'message' of undefined
。
为什么会出现这个错误?
我知道有一个来自 formvalidation 插件的 'remote validator' 来做 ajax-through 验证(http://formvalidation.io/validators/remote/),但我正在使用 Laravel,我必须发送ajax headers (X-CSRF-TOKEN),并且 'remote validator' 没有发送 ajax headers.
的能力最后 'remote' 方法接受 header。它没有在文档中指定。 我的解决方案是:
remote: {
message: 'Ya existe un estudiante con el mismo número de documento',
url: 'documento-existe',
type: 'POST',
data: function() {
return {
numero_documento: $("#numero_documento").val()
};
},
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}
无论如何,我不喜欢控制台中的这个警告:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.