Php 如何验证空字段后的Ajax、Laravel

Php 如何验证空字段后的Ajax、Laravel,php,jquery,laravel,laravel-5,laravel-5.4,Php,Jquery,Laravel,Laravel 5,Laravel 5.4,我使用LaravelBlade中的Ajax将数据发布到控制器。我为这个表单添加了Jquery验证,当Submit按钮单击其转到相应的路由并显示错误时。如何验证此类字段 $(document).ready(function() { $("#add").click(function(event) { if( !$('#ledger_name').val() ) { $('#ledger_name').parents('p').addClass('warnin

我使用LaravelBlade中的Ajax将数据发布到控制器。我为这个表单添加了Jquery验证,当Submit按钮单击其转到相应的路由并显示错误时。如何验证此类字段

$(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
            }

        });

    });

    });

您可以创建如下所示的验证器函数,并将验证消息发送到数组中

protected function validator(array $data )
{
    return Validator::make($data, [
        'name' => 'required|string|max:255|unique:users',
    ]);
}
并在控制器方法中调用该验证函数

$validation = $this->validator($request->all(),true );
if($validation->fails()){
    $errors = $validation->errors();
    return response()->json(
        ['errors' => $errors, 'status' => 'error'],200
    );
}
您可以按以下方式更改您的方法。(建议使用$request而不是$u POST)


您可以创建如下所示的验证器函数,并将验证消息发送到数组中

protected function validator(array $data )
{
    return Validator::make($data, [
        'name' => 'required|string|max:255|unique:users',
    ]);
}
并在控制器方法中调用该验证函数

$validation = $this->validator($request->all(),true );
if($validation->fails()){
    $errors = $validation->errors();
    return response()->json(
        ['errors' => $errors, 'status' => 'error'],200
    );
}
您可以按以下方式更改您的方法。(建议使用$request而不是$u POST)


您应该准确地说出要验证的字段类型。从您的代码中不清楚您有什么类型的字段。我只有文本字段@forexknightuse laravel validator来验证您的字段,正如下面给出的答案所示,您应该确切地告诉我您要验证哪些类型的字段。从你的代码中看不出你有什么类型的字段。我只有文本字段@forexknightuse laravel validator来验证你的字段作为下面给出的答案。JSON返回,但错误不显示在相应的Div中。错误:function(data){$(.result”).html(data.Error).css({'color':'green','Text align':'center'})。delay(5000)。fadeOut();}@Kenathuser errors而不是error$(“.result”).html(data.errors)Json返回,但error未显示在相应的Div错误:function(data){$(“.result”).html(data.error).css({'color':'green','text align':'center').delay(5000.fadeOut();}@Kenathuser errors而不是error$(.result”).html(data.errors)