簡體   English   中英

Laravel 通過 Ajax 進行驗證:如何在刀片中顯示錯誤消息

[英]Laravel Validation via Ajax: How to show error message in blade

我想驗證 NID 號碼是否存在。 我希望通過 AJax 對密鑰進行驗證。 我之前沒有在 ajax 中顯示錯誤。 我在 Jquery 中編寫了這些代碼。 如果我有任何錯誤,請幫助我。

在刀片

<div class="form-group row">
    <label for="nid" class="col-sm-2 col-form-label">
        NID Number<sup class="text-danger">*</sup>
    </label>
    <div class="col-sm-10">
        <input type="text"
               class="form-control {!! $errors->has('nid_number') ? 'is-invalid' : 'is-valid' !!}"
               placeholder="ভোটার আইডি" id="nid"
               name="nid_number" value="{{ old('nid_number') }}">
        @error('nid_number')
        <span class="invalid-feedback" role="alert">
            <strong>{{ $message }}</strong>
        </span>
        @enderror
    </div>
</div>

jquery cdn

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>

ajax代碼

$(document).on('keyup', '#nid', function(){
    $.ajax({
        url:"{{ route('ajax-validation') }}",
        method:'POST',
        data:{query:$(this).val()},
        dataType:'json',
        success:function(data)
        {
            alert(data);
        }
    })
});

在 controller

public function ajaxValidation(Request $request)
{
    if ($request->ajax()) {
        $this->validate($request, [
            'nid_number' => 'unique:members',
        ]);
    }
}

我認為這個 validate() 會自動返回錯誤。 這就是為什么我沒有使用任何return json_enconde()現在幫助我我現在如何顯示錯誤。 提前致謝。 對不起你的時間。

您可以像這樣檢查驗證:

public function ajaxValidation(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'nid_number' => 'unique:members',
        ]);
        if ($validator->passes()) {
            return response()->json(['status' => '1']); // success
        }
        return response()->json(['status' => '0'); // not success
    }

在您的 ajax 部分中,您缺少錯誤部分

error:function(data)
{
   console.log(data);
}

這是您將收到 laravel 驗證錯誤的部分,類似於console.log(data.responseJSON.errors)對這段代碼不太確定,但您可以在控制台中找到。 在成功方法中,您將永遠不會收到驗證錯誤。 之后,您可以處理錯誤以包含在表單輸入中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM