使用Laravel在自用API中进行表单验证

时间:2015-01-25 19:33:40

标签: php json api validation laravel

我正在构建一个内置API的网站,我自己就是这样做的。但是,我遇到了一个我似乎无法解决的问题。

我有一个截屏API,可以接受某些帖子数据。当我自己使用API​​时,我会将表单提交给这样的路径:

Route::post('episode/screenshot', ['as' => 'screenshot.store', function () {
    HMVC::post('api/screenshot', Input::all());
    return Redirect::back();
}]);

我在API中的store方法中有一个验证器,如下所示:

$data = Input::only(['filename', 'url', 'episode_id', 'timecode']);
try {
    $this->screenshotForm->validate($data);
} catch (FormValidationException $e) {
    // what do?
}

问题是:如果我使用我希望返回到具有验证错误的表单的表单在我自己的应用程序中使用API​​。但是当我RESTful地使用API​​(例如cURL或Postman等)时,我希望它返回验证错误的json表示。

如何解决这个问题?

编辑: 我的规则:

protected $rules = [
    'timecode'   => 'required|date_format:H:i:s',
    'filename'   => 'required',
    'episode_id' => 'required|integer',
    'url'        => 'required|url',
];

转储$data

array (size=4)
  'filename' => string '[HorribleSubs] Sora no Method - 13 [1080p].mkv.torrent' (length=54)
  'url' => string 'http://www.nyaa.se/?page=download&tid=639622' (length=44)
  'episode_id' => string '48' (length=2)
  'timecode' => string '00:05:00' (length=8)

0 个答案:

没有答案