Jquery 单个输入字段的Laravel验证

Jquery 单个输入字段的Laravel验证,jquery,ajax,laravel,validation,Jquery,Ajax,Laravel,Validation,我在jquery中使用ajax调用将用户输入从刀片服务器发送到控制器 我有一个输入字段 <div class="col-md-3"> <input type="text" class="form-control inputProfilePage" id="fname" name="fname" placeholder="First Name" value="{{ Auth::user()->fname }}"> </div&g

我在jquery中使用ajax调用将用户输入从刀片服务器发送到控制器

我有一个输入字段

<div class="col-md-3">
    <input type="text" class="form-control inputProfilePage" id="fname" name="fname" placeholder="First Name"
           value="{{ Auth::user()->fname }}">
  </div>
  <div class="col-md-3">
    <input type="text" class="form-control inputProfilePage" id="lname" name="lname" placeholder="Last Name"
           value="{{ Auth::user()->lname }}">
  </div>
field是字段的名称,val是用户在输入中输入的值

updateProfilePage是一个ajax调用

function updateProfilePage(val, field) {
          $.ajaxSetup({
              headers: {
                  'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
              }
          });
          $.ajax({
              type: 'POST',
              url: '/userprofilepage',
              data: {
                  val: val,
                  field: field
              },
              success: function (msg) {
                  console.log("Profile page has been updated:" + val);
              },
              error: function (msg) {
                  console.log("Profile page has not been updated:" + msg);
              }
          });
      }
在我的路由文件中,这将调用我的存储函数。我正在努力解决的是如何验证用户输入的值。这是我在控制器中的存储方法

 public function store(Request $request)
    {
            $this->validate($request, [
                'val' => 'alpha'
            ]);
    }
如果用户输入的内容不是字母,我想在刀片上打印错误消息

我在刀片服务器上添加了以下代码,但仍然没有出现错误

<div class="alert alert-error">
   <ul>
       @foreach($errors->all() as $error)
           <li>{{$error}}</li>
       @endforeach
   </ul>
</div>

    @foreach($errors->all()作为$error)
  • {{$error}}
  • @endforeach

那么我做错了什么?如果用户在firstname或lastname的输入中输入任何非字母的内容,我想让错误显示在我的blade中。

每次加载页面时,服务器都会生成blade语法,当您在ajax中发送表单时,页面不会重新加载,要在警报框中添加错误,我会这样做:(未测试)

函数更新配置文件页(val,字段){
$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
});
$.ajax({
键入:“POST”,
url:“/userprofilepage”,
数据:{
瓦尔:瓦尔,
字段:字段
}
}).done(函数(){
$('.alert').find('ul').append(“
  • 配置文件页面已更新:“+data+”
  • ”); }).fail(函数(){ $('.alert').find('ul').append(“
  • 配置文件页面尚未更新:“+data+”
  • ”); }).始终(功能(e){ 控制台日志(e); }); }
    <div class="alert alert-error">
       <ul>
           @foreach($errors->all() as $error)
               <li>{{$error}}</li>
           @endforeach
       </ul>
    </div>
    
    function updateProfilePage(val, field) {
              $.ajaxSetup({
                  headers: {
                      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                  }
              });
              $.ajax({
                  type: 'POST',
                  url: '/userprofilepage',
                  data: {
                      val: val,
                      field: field
                  }
              }).done(function () {
                    $('.alert').find('ul').append('<li>Profile page has been updated:' + data + '</li>');
              }).fail(function () {
                    $('.alert').find('ul').append('<li>Profile page has not been updated:' + data + '</li>');
              }).always(function (e) {
                    console.log(e);
              });
          }