为什么可空的验证不适用于laravel 5.4

时间:2017-08-16 18:02:49

标签: php laravel laravel-5

我能够找到问题是什么,问题出在我的迁移表中,我没有创建网站字段 nullable() 所以当我尝试在其中插入空字符串时,它成为一个问题。

我的视图表单中有一个名为“website”的字段,我将此字段设为可选字段。这意味着任何用户可以决定输入他们的网站,如果他们有一个,或留空。

 <div class="form-group{{ $errors->has('website') ? ' has-error' : '' }}">
        <label for="website" class="col-md-4 control-label">Website</label>

              <div class="col-md-6">
                  <input id="website" type="text" class="form-control" name="website" value="{{ old('website') }}" placeholder="ex. www.mytruck.com" autofocus>

                      @if ($errors->has('website'))
                          <span class="help-block">
                              <strong>{{ $errors->first('website') }}</strong>
                           </span>
                        @endif
               </div>
 </div>

从控制器我有这个验证码

protected function validator(array $data)
{
    return Validator::make($data, [
         'website' => 'url|string|max:100|nullable',
     ]);
}


  protected function create(array $data)
   {
    return User::create([
           'website' => $data['website'],

1 个答案:

答案 0 :(得分:0)

如果你想要一个字段是可选的,那么你就不必放置&#34; required&#34;在验证中。

因此,在您的情况下,您可以尝试:url | max:100

这只会在您填写任何内容时验证该字段。