如何在 Laravel 中的表单输入中显示旧数据
How to show the old data in a form input in the Laravel
我这样写form.blade.php:
<div class="form-group">
<label>Start at</label>
<div id="start_date" class="input-group date form_datetime col-md-4" data-date-format="yyyy-mm-dd hh:ii:ss">
<input class="form-control" name="start_at" size="16" type="text" value="{{ $activity->start_at }}">
<span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
</div>
</div>
Create 和Edit 方法都使用视图来显示表单。在Edit方法中,使用了$activity,一切正常。但是在 Create 方法中,$activity 为空,所以我在 {{ $activity->start_at }}
.
中出错
我知道我可以使用 if(!empty($activity)) 来防止这个错误。但我不想在任何地方使用它。
更好的方法是什么?
你可以用这个,
{{ $activity->start_at or '' }}
我也喜欢重复使用代码并使用相同的视图来创建或编辑对象。我所做的是将对象的全新实例传递给创建视图。通过这种方式,我的对象处于初始状态,包括默认值(如果有),并且我可以在显示的表单上预填充这些默认值(如果有)。它给了我一个额外的好处:如果在服务器级别的验证出现任何问题,用户不会丢失任何数据,我只需要在视图中做这样的事情:
<div class="form-group">
<label for="test_field" class="control-label">Fecha de firma</label>
<input type="text" value="{{ ( !empty($isabi) ? $isabi->fecha_firma : old('fecha_firma')) }}"
name="fecha_firma" id="isabi-fechafirma" class="form-control" placeholder="Este campo es obligatorio">
</div>
为了清楚起见,这是删除了额外功能的创建方法(检查用户是否经过身份验证,将创建的对象与用户工作的公司和其他内容相关联):
public function create()
{
return view('isabis.create', [
"isabi" => new Isabi()
])->with($this->data);
}
我使用 $this->data
进行视图配置。希望这有帮助。
我这样写form.blade.php:
<div class="form-group">
<label>Start at</label>
<div id="start_date" class="input-group date form_datetime col-md-4" data-date-format="yyyy-mm-dd hh:ii:ss">
<input class="form-control" name="start_at" size="16" type="text" value="{{ $activity->start_at }}">
<span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
</div>
</div>
Create 和Edit 方法都使用视图来显示表单。在Edit方法中,使用了$activity,一切正常。但是在 Create 方法中,$activity 为空,所以我在 {{ $activity->start_at }}
.
我知道我可以使用 if(!empty($activity)) 来防止这个错误。但我不想在任何地方使用它。
更好的方法是什么?
你可以用这个,
{{ $activity->start_at or '' }}
我也喜欢重复使用代码并使用相同的视图来创建或编辑对象。我所做的是将对象的全新实例传递给创建视图。通过这种方式,我的对象处于初始状态,包括默认值(如果有),并且我可以在显示的表单上预填充这些默认值(如果有)。它给了我一个额外的好处:如果在服务器级别的验证出现任何问题,用户不会丢失任何数据,我只需要在视图中做这样的事情:
<div class="form-group">
<label for="test_field" class="control-label">Fecha de firma</label>
<input type="text" value="{{ ( !empty($isabi) ? $isabi->fecha_firma : old('fecha_firma')) }}"
name="fecha_firma" id="isabi-fechafirma" class="form-control" placeholder="Este campo es obligatorio">
</div>
为了清楚起见,这是删除了额外功能的创建方法(检查用户是否经过身份验证,将创建的对象与用户工作的公司和其他内容相关联):
public function create()
{
return view('isabis.create', [
"isabi" => new Isabi()
])->with($this->data);
}
我使用 $this->data
进行视图配置。希望这有帮助。