Laravel 5:如果数据源不是MYSQL而是存储库,则验证字段值是否存在

时间:2016-08-15 11:51:04

标签: php validation laravel laravel-5 laravel-5.1

我正在使用添加/更新/删除方法处理REST API。

在Controller中,在Update动作中我必须检查id是否存在,我知道我可以使用 Laravel验证器存在:table,column ,但我在控制器中使用Repository

<select name="day1" >
    <option value="">select</option>
    <option value="1">Text 1</option>
    <option value="2">Text 2</option>
    <option value="3">Text 3</option>
</select>

<select name="day2" >
    <option value="">select</option>
    <option value="1">Text 1</option>
    <option value="2">Text 2</option>
    <option value="3">Text 3</option>
</select>

<select name="day3" >
    <option value="">select</option>
    <option value="1">Text 1</option>
    <option value="2">Text 2</option>
    <option value="3">Text 3</option>
</select>
.
.
.
.

存储库源可以与mysql数据库不同。 Laravel验证器&#39;存在&#39;不会在每种情况下都有效。

这是通过ID更新图书的代码。

public function __construct(BookRepositoryInterface $bookRepository, Validator $validator)
{
    $this->bookRepository = $bookRepository;
    $this->validator = $validator;
}

在更新期间检查书架中是否存在id的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

最好的方法是在Repository上创建create方法,并在存储库中运行验证。 在这种情况下,验证实现将依赖于存储库。