如何为表单输入分配默认值 - Laravel 8

问题描述

我有一个注册表单,可以从用户那里获取数据并将其发送到数据库

这是视图页面中的输入之一:

<div style="font-family: Frutiger;" class="mt-4 text-right">
                    <x-jet-label for="name" value="{{ __(' * First Name') }}" />
                    <x-jet-input id="name" class="block mt-1 w-full text-right border" type="text" name="name" :value="old('name')" required autofocus autocomplete="name" />
                </div>

所以我想让这个输入成为可选的,并且能够提交没有任何值的表单,但如果它留空,我希望默认值是例如“名称”

有没有通过这段代码或通过Mysql解决这个问题?

解决方法

也许你的控制器中有这样的东西来发送数据:

$request->validate([
    'name' => 'required',...
]);

你应该从这里删除 'name' => 'required'

但是如果您遇到数据库错误,您应该将其添加到您的迁移中:

$table->string('name')->nullable();
,

一种选择是将输入的初始值设置为包含值:

<x-jet-input id="name" class="block mt-1 w-full text-right border" type="text" name="name" :value="{{ old('name') ?? 'Default value' }}" required autofocus autocomplete="name" />

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...