日期字段不是必需的,但没有它表单将不会提交
Date field not required but the form won't submit without it
我正在创建一个 post 表单,其中的日期字段不是必需的,我做了一个修改器,当没有在表单中输入时,使数据库中的日期为 NULL。
create.blade.php
中的表格
<div class="form-group {{ $errors->has('published_at') ? 'has-error' : '' }}">
{!! Form::label('published_at', 'Publish date') !!}
{!! Form::text('published_at', null, ['class' => 'form-control', 'placeholder' => 'Y-m-d H:i:s']) !!}
@if($errors->has('published_at'))
<span class="help-block">{{ $errors->first('published_at') }}</span>
@endif
</div>
Post.php 中的突变体:
public function setPublishedAtAttribute($value)
{
$this->attributes['published_at'] = $value ?: NULL;
}
控制器中的存储函数:
$this->validate($request, [
'title' => 'required',
'slug' => 'required|unique:posts',
'body' => 'required',
'published_at' => 'date_format:Y-m-d H:i:s',
'category_id' => 'required'
]);
我希望未在表单中输入的日期在数据库中为 NULL,但我在表单 "The published at does not match the format Y-m-d H:i:s." 中收到验证错误并且不会提交
只需进行验证published_at=>'sometimes|date_format:Y-m-d H:i:s'
您可以执行以下操作
'published_at' => 'nullable|date_format:Y-m-d H:i:s',
在你的迁移文件中
您可以将属性设置为 nullable
$table->timestamp('published_at')->nullable();
所以如果没有值,将为空
我正在创建一个 post 表单,其中的日期字段不是必需的,我做了一个修改器,当没有在表单中输入时,使数据库中的日期为 NULL。
create.blade.php
中的表格<div class="form-group {{ $errors->has('published_at') ? 'has-error' : '' }}">
{!! Form::label('published_at', 'Publish date') !!}
{!! Form::text('published_at', null, ['class' => 'form-control', 'placeholder' => 'Y-m-d H:i:s']) !!}
@if($errors->has('published_at'))
<span class="help-block">{{ $errors->first('published_at') }}</span>
@endif
</div>
Post.php 中的突变体:
public function setPublishedAtAttribute($value)
{
$this->attributes['published_at'] = $value ?: NULL;
}
控制器中的存储函数:
$this->validate($request, [
'title' => 'required',
'slug' => 'required|unique:posts',
'body' => 'required',
'published_at' => 'date_format:Y-m-d H:i:s',
'category_id' => 'required'
]);
我希望未在表单中输入的日期在数据库中为 NULL,但我在表单 "The published at does not match the format Y-m-d H:i:s." 中收到验证错误并且不会提交
只需进行验证published_at=>'sometimes|date_format:Y-m-d H:i:s'
您可以执行以下操作
'published_at' => 'nullable|date_format:Y-m-d H:i:s',
在你的迁移文件中 您可以将属性设置为 nullable
$table->timestamp('published_at')->nullable();
所以如果没有值,将为空