symfony直接在控制器下使用 validator,就像laravel一样:
public function eventPaperSubscribeAction(Request $request, Service\ScilitCommentManagementService $commentService, Entity\Paper $paper, ValidatorInterface $validator)
{
$email = $request->request->get('email');
$constraints = [
new \Symfony\Component\Validator\Constraints\Email(),
new \Symfony\Component\Validator\Constraints\NotBlank(),
];
$error = $validator->validate($email, $constraints);
if (count($error) > 0) {
return new JsonResponse(['success' => false, 'status' => 'ERROR', 'message' => 'Invalid email addresss']);
}
$validateSubscriber = $commentService->validateSubscriber($paper, $email);
if (!$validateSubscriber['success']) {
return new JsonResponse($validateSubscriber);
}
$subscribeUser = $commentService->subscribeUser($paper, $email, $this->getUser());
return new JsonResponse($subscribeUser);
}
