mashfiqdev/form_maker

此包可以帮助您制作所需的表单。您可以将值、类型、id、样式传递给助手。

v1.0.2 2021-04-23 20:19 UTC

This package is auto-updated.

Last update: 2024-09-24 04:25:47 UTC


README

Laravel 表单制作器,灵感来源于 Laravel 表单构建器。借助表单制作器视图,可以轻松修改和重用表单。您可以将样式、值、类型传递给助手。

功能

  • 样式 - 向助手传递样式以自定义元素
  • 值 - 向助手传递值以获取特定字段的值
  • 类型 - 设置输入字段的类型,如电子邮件、数字、电话等。
  • 激活 - 激活所需的单选按钮或选择字段。
  • 必需 - 处理表单的必需字段

要求

快速安装

通过 Composer

$ composer require mashfiqdev/form_maker

对于 Laravel 版本 < 5.5

如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组

\MashfiqDev\FormMaker\FormMakerServiceProvider::class,

使用方法

您可以在 blade 文件中使用此功能来制作表单。

对于输入元素

您需要将包含类、值、类型、id、name 的样式存储在一个变量中,如下所示

$emaildata = [
    "ids" => ["email"],
    "classes" => ["form-control", "bg-light","my-2"],
    "type" => "email",
    "name" => "email",
    "values" => [
        "prev_value" => "mashfiqurrr@gmail.com"
    ],
    "required" => true
];

然后包含 HTML 输入元素,如下所示

<div class="form-group">
    <label for="name">Email</label>
    @include('FormElement::input', ['data' => $emaildata])
</div>

对于选择元素

您需要将包含样式、值、id、name、激活字段、必需状态的样式存储在一个变量中,如下所示

$countrydata = [
    "ids" => ["country"],
    "classes" => ["form-select", "bg-light","my-2"],
    "name" => "country",
    "values" => [
        "BD" => "Bangladesh",
        "AUS" => "Australia",
        "DU" => "Germany",
        "CN" => "Canada",       
    ],
    "active" => "DU",
    "required" => true
];

然后包含 HTML 输入元素,如下所示

<div class="form-group">
    <label for="country">Country</label>
    @include('FormElement::select', ['data' => $countrydata])
</div>

对于复选框元素

您需要将包含样式、值、id、name、激活字段、必需状态的样式存储在一个变量中,如下所示

$degreedata = [
    "ids" => ["degree"],
    "classes" => ["py-2", "bg-light","my-2","blockquote"],
    "name" => "degree",
    "values" => [
        "psc" => "P.S.C",
        "jsc" => "J.S.C",
        "ssc" => "S.S.C",
        "hsc" => "H.S.C",
        "bsc" => "B.S.C",
        "msc" => "M.S.C", 
    ],
    "required" => true
];

然后包含 HTML 输入元素,如下所示

<div class="form-group">
    <label for="country">Degree</label>
    @include('FormElement::checkbox', ['data' => $degreedata])
</div>

对于单选按钮元素

您需要将包含样式、值、id、name、激活字段、必需状态的样式存储在一个变量中,如下所示

$maritaldata = [
    "ids" => ["marital"],
    "classes" => ["form-check","form-check-inline", "bg-light","my-2","blockquote"],
    "name" => "marital",
    "values" => [
        "single" => "Single",
        "married" => "Married",
        "unmarried" => "Unmarried"
        ],
    "active" => "unmarried",
    "required" => true
];

然后包含 HTML 输入元素,如下所示

<div class="form-group">
    <label for="country">Marital Status</label><br>
    @include('FormElement::radio', ['data' => $maritaldata])
</div>

因此,您的最终表单可能如下所示

<div class="container py-5 mt-5 card col-md-6 offset-3">
        <h1 class="text-center">Sign Up</h1>
        <form>
            <div class="form-group">
                <label for="name">Email</label>
                @include('FormElement::input', ['data' => $emaildata])
            </div>
            <div class="form-group">
                <label for="country">Country</label>
                @include('FormElement::select', ['data' => $countrydata])
            </div>
            <div class="form-group">
                <label for="country">Degree</label>
                @include('FormElement::checkbox', ['data' => $degreedata])
            </div>
            <div class="form-group">
                <label for="country">Marital Status</label><br>
                @include('FormElement::radio', ['data' => $maritaldata])
            </div>
            


            <button type="submit" class="btn btn-primary" disabled>Submit</button>
        </form>
</div>

安全性

如果您发现任何与安全性相关的问题,请通过mashfiqurrr@gmail.com 发送电子邮件,而不是使用问题跟踪器。

作者