keevitaja/rulez

此软件包已被废弃,不再维护。未建议替代包。

用户输入验证

dev-master 2014-03-03 11:50 UTC

This package is auto-updated.

Last update: 2022-02-01 12:31:54 UTC


README

Build Status ProjectStatus

Rulez提供了设置输入验证规则和验证服务的便捷方式。您可以从一处添加所有规则,之后使用外观进行输入验证。

Rulez可以为创建和更新方法设置独立的规则。当存在唯一字段时,这非常方便。

安装

使用composer安装keevitaja/rulez

composer require keevitaja/rulez:dev-master

将服务提供者和别名添加到 app/config/app.php

'providers' => array(

    'Keevitaja\Rulez\RulezServiceProvider',

),
'aliases' => array(

    'Rulez'           => 'Keevitaja\Rulez\RulezFacade'

),

使用

验证规则可以在多个位置设置,如routes.php,但最好的方式可能是创建app/rules.php文件,并在app/start/global.php中引入它。

require app_path().'/rules.php';

设置输入验证规则

可以为创建和更新分别设置规则。基本规则将适用于两者。在下面的示例中,users是规则集的名称,可以在控制器中稍后使用。

Rulez::register('users', function($rulez)
{
    $rulez->addBase([
        'first_name' => 'required|min:2',
        'last_name' => 'required|min:2',
        'password' => 'required|min:6'
    ]);

    $rulez->addCreate([
        'email' => 'required|unique:users|email'
    ]);

    $rulez->addUpdate([
        'email' => 'required|unique:users,email,%s|email'
    ]);
});

如果您不需要为创建和更新设置独立的规则,则只需使用基本规则。

验证输入

Rulez::validateBase($name, $input)

验证基本规则。

Rulez::validateCreate($name, $input)

合并创建和基本规则并验证。

Rulez::validateUpdate($name, $input, $exclude = false)

合并更新和基本规则,设置行ID,如果存在唯一列,并验证。

'users'是在app/rules.php中与规则注册一起使用的名称。

请看下面的示例

$input = Input::all();

if (Rulez::validateUpdate('users', $input, $id))
{
    // all ok, lets do the update and redirect
}

// something does not validate, send user back with errors and input

return Redirect::back()->withErrors(Rulez::validationErrors())->withInput();

如果您喜欢这个

请关注我 @keevitaja