I Laravel BladeのAjaxを使用してControllerにデータを送信します。送信ボタンを押したときに、このフォームのJquery検証を追加しました。それぞれのルートと表示エラーをクリックします。このタイプのフィールドを検証する方法。空のPost-Ajax、Laravelの場合のフィールドの検証方法
$(document).ready(function() {
$("#add").click(function(event) {
if(!$('#ledger_name').val()) {
$('#ledger_name').parents('p').addClass('warning');
}
event.preventDefault();
$.ajax({
type: 'post',
url: $("#add").attr('data-url'),
data: {
'_token': '{{ csrf_token() }}',
'form_data': $('#Form').serialize(),
},
success: function(data) {
$('#ledger_name').val('');
$('#openning_balance').val('0.00');
$('#ob_type').val('');
$('#under').val('');
$('#ledger_address').val('');
$("#newLedger .close").click();
$(".result").html(data.success).css({'color': 'green', 'text-align': 'center'}).delay(5000).fadeOut();
},
error: function(data)
{
var errors = '';
for(datos in data.responseJSON){
errors += data.responseJSON[datos] + '<br>';
}
$('#response').show().html(errors); //this is my div with messages
}
});
});
});
コントローラコード:
public function addnewledgers(Request $request){
$usersid = Auth::user()->id;
$companyids = Session()->get('companyids');
$values = array();
parse_str($_POST['form_data'], $values);
$insertledgers=Ledger::create(['ledger_name'=>$values['ledger_name'],'openning_balance'=>$values['openning_balance'],'ob_type'=>$values['ob_type'],'under'=>$values['under'],'ledger_address'=>$values['ledger_address'],'company_id'=>$companyids,'user_id'=>$usersid,'created_by'=>$usersid]);
return response()->json(['success' => 'Ledger Details Added Successfully',]);
}
あなたは検証するフィールドのタイプを正確に教えています。あなたのコードから、あなたが持っているフィールドのタイプは明らかではありません。 –
私はテキストフィールドしか持っていません@forexknight – Karthik
laravelバリデーターを使用してフィールドを以下の回答として検証します –