public function validate(PageBlock $block, RequestInterface $request) { $validator = new Validator(); $validator->required('content'); $validator->optional('wysiwyg')->bool(); $result = $validator->validate($block->getParameters()); if (!$result->isValid()) { throw new ValidationFailedException($result, $request); } }
public function register() { $response['succeeded'] = false; $response['registered'] = false; $postdata = file_get_contents("php://input"); $request = json_decode($postdata); $user = ['first_name' => strtolower(trim($request->first_name)), 'last_name' => strtolower(trim($request->last_name)), 'username' => strtolower(trim($request->username)), 'email' => strtolower(trim($request->email)), 'password' => $request->password, 'gender' => strtolower(trim($request->gender)), 'birthdate' => trim($request->birthdate), 'phone_number' => trim($request->phone_number), 'profile_picture' => trim($request->profile_picture_path), 'hometown' => strtolower(trim($request->hometown)), 'maritalStatus' => strtolower(trim($request->maritalStatus)), 'about' => trim($request->about)]; $response['user'] = $user; $v = new Validator(); $min = 3; $max = 50; $max_about = 200; $username_regex = '/^[\\w.-]*$/'; $genders = array("male", "female"); $marital_status = array("single", "engaged", "married"); $v->required('first_name')->lengthBetween($min, $max)->alpha(); $v->required('last_name')->lengthBetween($min, $max)->alpha(); $v->required('username')->lengthBetween($min, $max)->regex($username_regex); $v->required('email')->email(); $v->required('password'); $v->required('gender')->inArray($genders); // $v->required('birthdate')->datetime('Y-m-d'); $v->optional('phone_number')->lengthBetween(9, 20)->digits(); $v->optional('profile_picture'); $v->optional('hometown')->lengthBetween($min, $max); $v->optional('maritalStatus')->inArray($marital_status); $v->optional('about')->lengthBetween($min, $max_about); $result = $v->validate($user); $response['succeeded'] = $result->isValid(); if ($result->isValid()) { $_SESSION['user_id'] = tryCreateUser($user); if ($_SESSION['user_id']) { $response['registered'] = true; setcookie("user_id", $_SESSION['user_id'], time() + 86400 * 30, '/'); } } else { print_r($result->getFailures()); $response['errors'] = $result->getFailures(); } echo json_encode($response); }