jquery Laravel通过Ajax验证:如何在刀片中显示错误消息

wz1wpwve  于 2023-11-17  发布在  jQuery
关注(0)|答案(3)|浏览(134)

我想验证NID号是否存在.我想通过AJax键上的验证.我没有工作,以显示在AZERO之前的错误.我写在JQuery这些代码.请帮助我,如果我有任何错误.
在叶片

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

字符串
jQuery cdn

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


ajax代码

  1. $(document).on('keyup', '#nid', function(){
  2. $.ajax({
  3. url:"{{ route('ajax-validation') }}",
  4. method:'POST',
  5. data:{query:$(this).val()},
  6. dataType:'json',
  7. success:function(data)
  8. {
  9. alert(data);
  10. }
  11. })
  12. });


控制器中

  1. public function ajaxValidation(Request $request)
  2. {
  3. if ($request->ajax()) {
  4. $this->validate($request, [
  5. 'nid_number' => 'unique:members',
  6. ]);
  7. }
  8. }


我认为这个validate()会自动返回错误。这就是为什么我没有使用任何return json_enconde()现在帮助我现在如何显示错误。提前感谢。对不起。

gv8xihay

gv8xihay1#

在您的apache部分中,您缺少错误部分

  1. error:function(data)
  2. {
  3. console.log(data);
  4. }

字符串

  • 这是你将收到laravel验证错误的部分,这将是类似于console.log(data.responseJSON.errors)的东西,对于这段代码并不确定,但你可以在控制台中找到。在success方法中,你永远不会收到验证错误。之后,你可以在表单输入中包含错误 *
1dkrff03

1dkrff032#

你可以像这样检查验证:

  1. public function ajaxValidation(Request $request)
  2. {
  3. $validator = Validator::make($request->all(), [
  4. 'nid_number' => 'unique:members',
  5. ]);
  6. if ($validator->passes()) {
  7. return response()->json(['status' => '1']); // success
  8. }
  9. return response()->json(['status' => '0'); // not success
  10. }

字符串

sauutmhj

sauutmhj3#

在这个答案中没有任何的错误,但是如果有人想知道如何用JavaScript获得laravel错误/成功会话,这里有一个hack。

  1. @if (session('success'))
  2. <div class="form-success text-white" hidden aria-hidden="true">
  3. <div class="absolute">
  4. {{ session('success') }}
  5. </div>
  6. </div>
  7. @endif

字符串
在JavaScript中

  1. document.addEventListener("DOMContentLoaded", function () {
  2. let FormSuccess = document.querySelector(".form-success");
  3. if (FormSuccess) {
  4. Swal.fire({
  5. icon: "success",
  6. title: "Successful",
  7. text: FormSuccess.textContent,
  8. });
  9. }
  10. });


然后在你的控制器或服务中,

  1. return redirect()->route("name")->with("register_success","Registered succesfully!");

展开查看全部

相关问题