spajz/modval

为 Laravel 4 提供简单的模型验证。

1 2014-03-25 22:37 UTC

This package is not auto-updated.

Last update: 2024-10-01 04:17:15 UTC


README

  • 在保存时自动验证模型。
  • 为模型事件(创建、更新和保存)使用简单的或独立的规则。
  • 基于 Jeffrey Way 的项目 Laravel Model Validation。

安装

只需通过 composer.json 在您的 Laravel 安装中添加新包。

"spajz/modval": "dev-master"

然后运行 composer update。

如果您想使用别名,可以将以下行添加到 app/config/app.php

'Modval' => 'Spajz\Modval\Modval'

用法

您的模型需要扩展 ModvalSpajz\Modval\Modval

class Foo extends Modval {

}

如何在模型中添加规则(适用于所有事件)。

class Foo extends Modval {
    protected static $rules = array(
        'title' => 'required',
        'slug' => 'required|min:5',
    );
}

为每个事件(创建、更新或保存)单独添加规则。保存事件在两种情况下都会执行(创建和更新)。

class Foo extends Modval {
    protected static $rules = array(
        'create' => array(
            'slug' => 'required|min:5',
        ),
        'update' => array(
            'url' => 'required',
        ),
        'save' => array(
            'title' => 'required',
        ),
    );
}

以下是一个控制器中的示例。

public function store()
{
    $foo = new Foo(Input::all());

    if ($foo->save()) return Redirect::route('foo.index');

    return Redirect::back()->withInput()->withErrors($foo->getErrors());
}

感谢

感谢 Jeffrey Way 及其项目 Laravel Model Validation

https://github.com/JeffreyWay/Laravel-Model-Validation