【问题标题】:Lumen: Generate Model validation rulesLumen:生成模型验证规则
【发布时间】:2017-01-07 09:41:14
【问题描述】:

Artisan 生成器似乎过于复杂,它生成一个从 Model 类扩展而来的类!!!

有什么方法可以自动生成流明模型中的模型验证规则(基于mysql表的列定义)?

列名呢?

【问题讨论】:

  • 亲爱的投票者,我很抱歉我的无畏,按照常识,模型生成应该处理一些基本功能,如验证!

标签: laravel lumen


【解决方案1】:

laravel 或 lumen 中没有内置这样的命令。

我找到了一个提供这样一个命令的包(在一个名为 google 的网站上):https://github.com/jijoel/validation-rule-generator

它已锁定为照亮/支持 4.0.x,因此不适用于当前版本的 laravel。如果你有很多模型,可能值得 fork,在 composer.json 中修改版本,看看它是否有效。

【讨论】:

    【解决方案2】:

    我是 lumen-generators 的作者,Lumen 和 Laravel 5 的生成器集合。

    这个包包含一个Model Generator,它支持生成验证规则。

    安装

    通过运行以下命令将生成器包添加到您的 composer.json:

    composer require wn/lumen-generators

    然后在文件app/Providers/AppServiceProvider.php 中添加服务提供者,如下所示:

    public function register()
    {
        if ($this->app->environment() == 'local') {
            $this->app->register('Wn\Generators\CommandsServiceProvider');
        }
    }
    

    如果您使用 Lumen,请不要忘记在您的 bootstrap/app.php 中包含应用程序服务提供商并启用 Eloquent 和 Facades

    如果您运行命令php artisan list,您将看到添加的命令列表:

    wn:controller               Generates RESTful controller using the RESTActions trait
    wn:controller:rest-actions  Generates REST actions trait to use into controllers
    wn:migration                Generates a migration to create a table with schema
    wn:model                    Generates a model class for a RESTfull resource
    wn:pivot-table              Generates creation migration for a pivot table
    wn:resource                 Generates a model, migration, controller and routes for RESTful resource
    wn:resources                Generates multiple resources from a file
    wn:route                    Generates RESTful routes.
    

    使用验证规则生成模型

    运行以下命令:

    php artisan wn:model TestingModel --rules="name=required age=integer|min:13 email=email|unique:users,email_address"
    

    将生成包含以下规则的模型:

    public static $rules = [
        "name" => "required",
        "age" => "integer|min:13",
        "email" => "email|unique:users,email_address",
    ];
    

    详情请咨询Full README

    希望这会有所帮助:)

    【讨论】:

    • 问题是我还需要提到验证规则,如果生成器可以从mysql定义中提取基本规则,那就太好了。
    猜你喜欢
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2015-02-26
    • 2019-05-22
    • 2023-04-01
    相关资源
    最近更新 更多