当前位置: 首页 > 知识库问答 >
问题:

单个输入字段的Laravel验证

水铭晨
2023-03-14

我在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>

fname代表firstname,lname代表lastname

在我的jquery中,我有一个电话

$('.selectProfilePage').change(function(){
          var val = $(this).val();
          var field = $(this).attr('id');
          updateProfilePage(val, field);
      });

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>

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

共有1个答案

濮阳宁
2023-03-14

每次页面加载时,服务器都会生成刀片语法,当你在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
              }
          }).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);
          });
      }
 类似资料:
  • 问题内容: 问候,我有这个输入字段, 我想在单击提交按钮时调用IsEmpty函数。 我尝试了下面的代码,但是没有用。有什么建议吗? 问题答案:

  • 您如何验证有效的 HTML JavaScript 即使我对表单中的其他字段使用相同的方法,对空字段的验证也不起作用。

  • 问题内容: 我正在使用JavaFX和Scene Builder,并且有一个带有文本字段的表单。这些文本字段中的三个从字符串解析为双精度。 我希望它们是学校成绩,因此只能将其设置为1.0到6.0之间。不应允许用户写“ 2.34.4”之类的内容,但可以写“ 5.5”或“ 2.9”之类的内容。 验证已解析字段: 如何测试用户输入的值是否正确? 我已经在Stackoverflow和Google上进行了搜索

  • 问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看

  • 开发Web的一个原则就是,不能信任用户输入的任何信息,所以验证和过滤用户的输入信息就变得非常重要,我们经常会在微博、新闻中听到某某网站被入侵了,存在什么漏洞,这些大多是因为网站对于用户输入的信息没有做严格的验证引起的,所以为了编写出安全可靠的Web程序,验证表单输入的意义重大。 我们平常编写Web应用主要有两方面的数据验证,一个是在页面端的js验证(目前在这方面有很多的插件库,比如Validati