1
我使用Laravel JsValidation
,JsValidation
與其他表單正常工作,但是因爲我應該使用Ajax提交表單,JsValidation工作不正常,並且表單提交。Laravel JsValidation不能使用Ajax提交表格
$validator = JsValidation::make($rules);
並鑑於
{!!$validator!!}
我使用Laravel JsValidation
,JsValidation
與其他表單正常工作,但是因爲我應該使用Ajax提交表單,JsValidation工作不正常,並且表單提交。Laravel JsValidation不能使用Ajax提交表格
$validator = JsValidation::make($rules);
並鑑於
{!!$validator!!}
由於驗證呼叫是異步的,標記,作爲同步通過執行:
async: false
[可選],並防止形式提交默認功能,執行:
e.preventDefault();
上提交按鈕點擊。驗證完成後,您將根據該響應獲得響應,您可以允許表單提交或不提交。
簡單的代碼片段:
$("#form-submit").on('submit', function(){
var errorMsg = 'Please provide your correct information.';
$(".errorMsg ").text("");
var txtName = $("input#txtName").val();
var responseStatus = false;
var userData = {
'name' : txtName
};
$.ajax({
type: 'POST',
url: '/validate-data',
async: false,
data: userData,
success: function(result){
if(result.status === true){
responseStatus = true;
} else {
responseStatus = false;
errorMsg = result.message;
$(".errorMsg ").text(errorMsg);
return false;
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Oops! Something went wrong. Please try again.'); return false;
}
});
if(responseStatus === false){
return false;
} else {
return true;
}
});
看,如果沒有什麼幫助。
嘗試使用這個片段:
$('form').on('submit', function() {
if($(this).valid()) {
// do your ajax stuff here
}
return false;
});
這是您使用https://github.com/proengsoft/laravel-jsvalidation圖書館嗎? –
@ LancePioch是啊 – jones
'JsValidation工作不正常'太含糊了,你能否詳細說明你的問題。 –