Laravel 表单

17 Mar 2025 | 5 分钟阅读

Laravel 通过提供各种内置标签来处理 html 表单。Laravel 生成 HTML 所需的主要元素。为了生成 html 元素,我们需要使用 composer 在 Laravel 中添加 html 包。

安装

  • 我们首先使用 composer 安装该包。在 Git bash 窗口中输入以下命令来安装该包。

当我们在 Git bash 窗口中输入上述命令时,输出将是

Laravel Forms

在上面的窗口中,我们观察到命令 "$composer require "laravelcollective/html":"^5.4.0" 更新了 composer.json 文件,该文件是 laravelcollective/html 所需的。

  • 接下来,在您的项目中打开 config/app 目录,并将 html 提供程序添加到 config/app.php 文件的 providers 数组中。
Laravel Forms

上面突出显示的区域表示添加到 config/app.php 文件的 providers 数组中的 HtmlServiceProvider

  • 最后,我们将两个类别名添加到 config/app.php 文件的 aliases 数组中。

打开一个表单

我们可以使用下面给出的代码打开一个表单

在 laravel 表单中,如果未提及,则默认方法假定为 'post' 方法,但我们可以自由指定任何其他方法。由于表单支持 Post、Put、Delete 和 Get 方法,因此可以通过使用隐藏的方法字段将这些方法添加到表单中。

如果我们想在表单中使用 put 方法,那么代码如下

我们还可以打开指向命名路由或控制器操作的表单。

生成 HTML 元素

  • 标签

标签是在 Html 表单中显示的普通文本。在 Laravel 中编写标签元素的语法如下

Form::label('phone_no', '电话号码');

我们还可以在标签元素中指定其他属性。

Form::label('phone_no', '电话号码',['class'=>'phone_no']);

在这种情况下,我们在 Label 元素中添加了“class”作为属性。

  • 文本

文本是用户可以输入其数据的区域。在 Laravel 中生成文本区域的语法如下

Form::text('email');

我们还可以指定文本框的默认值。

Form::text('email','[email protected]');

  • 密码

密码是表单中的一个 html 元素,用于捕获用户输入,并且每个字符都以 (*) 的形式表示,而不是显示输入的数字。密码字段的语法如下

Form::password('password',['class'=>'pass']);

  • 复选框

我们可以创建复选框,如下所示

Form::checkbox('name','value');

默认情况下,复选框处于未选中状态。我们也可以通过为复选框元素提供 true 值来选中该框。

Form::checkbox('name','value',true);

  • 单选按钮

我们可以创建单选按钮,如下所示

Form::radio('name','value');

默认情况下,未选择单选按钮。我们也可以通过为单选按钮元素提供 true 值来选择单选按钮。

Form::radio(''name','value',true);

  • 数字

我们也可以在表单中添加数字输入字段。数字输入字段的语法如下

Form::number('name','value');

文件输入字段是表单中用于文件上传的 html 元素。文件输入字段的语法如下

Form::file('image');

其中, image 是文件输入字段的名称。

  • 下拉列表

下拉元素用于显示所有预定义选项的列表。创建下拉菜单的语法如下

Form::select('digits', [1,2,3,4,5,6])

我们还可以使用默认值设置下拉列表

Form::select('digits',[1,2,3,4,5,6],'2')

上面的代码将下拉列表的值设置为数组的第二个元素,即 3,因为索引从 0 开始。

生成分组列表

我们可以通过下拉元素生成分组列表。让我们通过一个例子来看看

Form::select('animal',[
        'fruits' => ['Apple','Mango','Orange'],
        'Vegetables' => ['Potato','Tomato','Cabbage'],
])
生成具有范围的下拉列表。
Form::selectRange('number',1,30)
生成具有月份名称的下拉列表。
Form.selectMonth('month')

  • 日期

年、月和日。生成日期输入字段的语法如下

Form::date('name',\Carbon\Carbon::now())

  • 按钮

我们还可以通过在表单中使用按钮字段在 Web 表单中创建按钮。让我们看看它的语法

Form::submit('点击我!!')

上面的行创建了一个名为“点击我!!”的提交按钮。

让我们通过一个例子来了解表单。

以下是创建表单所需的步骤。

步骤 1:首先,我们创建名为 master.blade.php 文件的主布局文件。

步骤 2:其次,我们创建 contact.blade.php 文件,并在其中添加表单的代码。

上面的代码用于创建包含不同字段的表单。

步骤 3:现在,我们创建名为 PostsController 的资源控制器,并且我们仅在 store() 函数中添加了功能,如下所示

PostController.php

在上面的代码中,我们在 store() 函数中添加了代码,该函数验证表单中的所有字段。

步骤 4:最后,在 web.php 文件中添加路由。

输出

Laravel Forms

假设我在上面的表格中输入以下详细信息

Laravel Forms

填写完所有详细信息后,单击提交按钮,则输出将是

Laravel Forms
下一个主题Laravel 迁移