首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ardent for Laravel可以与Repository Pattern一起工作吗?

Ardent for Laravel可以与Repository Pattern一起工作吗?
EN

Stack Overflow用户
提问于 2014-01-22 05:03:21
回答 1查看 254关注 0票数 0

有没有人在Laravel中使用Ardent和存储库模式,并在保存时具有“自动水合”关系?如果是这样,规则是否需要在存储库中,或者它们是否可以在单独的Validator服务中?

EN

回答 1

Stack Overflow用户

发布于 2014-01-22 18:13:14

Ardent的基本思想是在模型本身中进行自动验证。然而,如果你想让你的应用尽可能的健壮,最好使用验证服务。最后,您可以随心所欲地使用该服务(甚至传递它的内部$rules),因此它完全是干的。

编辑:

假设您有这样一个验证服务

代码语言:javascript
复制
namespace App\Services\Validators;
class UserValidator extends Validator {

  /**
   * Validation rules
   */
  public static $rules = array(
    'username' => array('required'),
    'email' => array('required','email'),
    'password' => array('required','min:12','confirmed'),
    'password_confirmation' => array('required','min:12'),
  );

}

在存储库中,您可以执行以下操作

代码语言:javascript
复制
public function store()
{
  $v = new App\Services\Validators\UserValidator;

  if($v->passes())
  {
    $this->user->create($input);

    return true
  }

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

在Ardent模型中,您只需直接修改规则

代码语言:javascript
复制
Ardent::$rules = UserValidator::$rules

查看Ardent docs,你可能会发现this article on validation很有趣,上面的代码就是基于那篇文章的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21269051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档