mandor53/aware2

此包已被弃用,不再维护。未建议替换包。
此包的最新版本(dev-master)没有可用的许可信息。

Aware 包的后续版本,由 Awareness 提供,允许模型自我验证。

dev-master 2014-10-19 10:07 UTC

This package is not auto-updated.

Last update: 2016-11-18 19:54:03 UTC


README

Aware Laravel 包的后续版本,由 Awareness 提供,用于处理 Laravel 中的 Eloquent 模型的自我验证。

安装

Composer

将包添加到您的 composer.json 文件中,如下所示

{ // composer.json
  ...
  "require": {
      "mandor53/aware2": "dev-master"
  },
  ...
}

Laravel

将提供者添加到您的 app.php 配置文件中,如下所示

<?php // app/config/app.php

return array(
  ...
  'providers' => array(
      ...
      'Mandor53\Aware2\Aware2ServiceProvider',
  ),
  ...
);

用法

验证器规则

创建具有验证规则的模型

<?php

use Awareness\Aware\Model;

class User extends Model {

  public static $rules = array(
    'name' => 'required'
  );

}

动态验证规则

<?php

// Make sure to use the correct namespace
use Awareness\Aware\Model;

// As well as extending from Model
class User extends Model {

  public static function dynamicRules($data)
  {
    if(someTestHere($data['a column data youre trying to insert']))
    {
      // Then there's no error, return true
      return true;
    }
    // There is an error, return your error message
    return 'Woops, looks like your input is wrong!';
  }

}

测试

尝试保存新条目或编辑现有条目

$user = new User();
$user->save(); // returns false

$user->name = 'Colby';
$user->save(); // saves then returns true!

访问您的验证错误

...
if(!$user->save())
{
  return Response::make($user->messages()->first());
}
...

绕过错误检查

不进行验证保存

$user = new User();
$user->force()->save();