1
0
mirror of https://github.com/flarum/core.git synced 2025-08-25 09:22:52 +02:00

Use validator for attribute translations

closes flarum/core#973
This commit is contained in:
Toby Zerner
2016-06-05 09:27:20 +09:30
parent 5189744038
commit 2c4ccc89f9

View File

@@ -12,13 +12,13 @@
namespace Flarum\Tags\Listener; namespace Flarum\Tags\Listener;
use Flarum\Core\Exception\PermissionDeniedException; use Flarum\Core\Exception\PermissionDeniedException;
use Flarum\Core\Exception\ValidationException;
use Flarum\Event\DiscussionWillBeSaved; use Flarum\Event\DiscussionWillBeSaved;
use Flarum\Settings\SettingsRepositoryInterface; use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\Tags\Event\DiscussionWasTagged; use Flarum\Tags\Event\DiscussionWasTagged;
use Flarum\Tags\Tag; use Flarum\Tags\Tag;
use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Contracts\Validation\Factory; use Illuminate\Contracts\Validation\Factory;
use Illuminate\Contracts\Validation\ValidationException;
use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Translation\TranslatorInterface;
class SaveTagsToDatabase class SaveTagsToDatabase
@@ -129,16 +129,15 @@ class SaveTagsToDatabase
{ {
$min = $this->settings->get('flarum-tags.min_'.$type.'_tags'); $min = $this->settings->get('flarum-tags.min_'.$type.'_tags');
$max = $this->settings->get('flarum-tags.max_'.$type.'_tags'); $max = $this->settings->get('flarum-tags.max_'.$type.'_tags');
$key = 'tag_count_'.$type;
$validator = $this->validator->make( $validator = $this->validator->make(
['tags' => $count], [$key => $count],
['tags' => ['numeric', $min === $max ? "size:$min" : "between:$min,$max"]], [$key => ['numeric', $min === $max ? "size:$min" : "between:$min,$max"]]
[],
['tags' => $this->translator->trans('flarum-tags.api.'.$type.'_tag_count_text')]
); );
if ($validator->fails()) { if ($validator->fails()) {
throw new ValidationException($validator); throw new ValidationException([], ['tags' => $validator->getMessageBag()->first($key)]);
} }
} }
} }