单个输入字段的Laravel验证

时间:2017-06-07 18:26:47

标签: 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>
  <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用于名字,lname用于姓氏

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

$('.selectProfilePage').change(function(){
          var val = $(this).val();
          var field = $(this).attr('id');
          updateProfilePage(val, 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>

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

1 个答案:

答案 0 :(得分:1)

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

<form class="large" method="post" action="/suscript/" novalidate>
    {% csrf_token %}
    <fieldset>
        <legend>{{ title }}</legend>
        {% for field in form %}
            <div class="control-group {%if field.errors %}error{%endif%}">
                <div class="input-group controls">
                    <label class="input-group-addon control-label" id="{{field.label|safe}}">{{ field.label }}</label>
                    {% render_field field type="text" class="form-control" placeholder="" aria-describedby="field.label|safe" %}
                </div>
                    {% for error in field.errors %}
                         <div class="alert alert-danger">
                            <strong>{{ error|escape }}</strong>
                         </div>
                    {% endfor %}

                    {% if field.help_text %}
                        <p class="help-inline">{{ field.help_text|safe }}</p>
                    {% endif %}
            </div>

        {% endfor %}
    </fieldset>
    <div class="form-actions">
        <button type="submit" class="btn btn-primary" >Submit</button>
    </div>
</form>