Commit 06ecc69d2cb6e42489a5182b8cd72f494103cec9

Authored by Alex Savenko
1 parent db902f1e

email validation

Showing 1 changed file with 36 additions and 0 deletions   Show diff stats
app/library/App/Controllers/UserController.php
... ... @@ -3,7 +3,11 @@
3 3 namespace App\Controllers;
4 4  
5 5 use App\Model\User;
  6 +use Phalcon\Validation;
  7 +use Phalcon\Validation\Validator\Email;
6 8 use PhalconRest\Mvc\Controllers\CrudResourceController;
  9 +use PhalconApi\Exception;
  10 +use PhalconApi\Constants\ErrorCodes;
7 11  
8 12 class UserController extends CrudResourceController
9 13 {
... ... @@ -101,4 +105,36 @@ class UserController extends CrudResourceController
101 105 }
102 106 }
103 107  
  108 + protected function beforeHandleWrite()
  109 + {
  110 + $email_field = 'email';
  111 +
  112 + $validation = new Validation();
  113 +
  114 + $validation->add(
  115 + $email_field,
  116 + new Email(
  117 + [
  118 + "message" => "The e-mail is not valid",
  119 + ]
  120 + )
  121 + );
  122 +
  123 + $data = $this->getPostedData();
  124 +
  125 + if (!isset($data[$email_field])) {
  126 +
  127 + $message = $validation->validate($data[$email_field]);
  128 + if (count($message)) {
  129 + throw new Exception(ErrorCodes::DATA_FAILED, 'Unable to create item', [
  130 + 'messages' => $message,
  131 + 'data' => $data[$email_field]
  132 + ]);
  133 + }
  134 +
  135 + }
  136 +
  137 +
  138 + }
  139 +
104 140 }
... ...