diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index decce16e771c3ac3c778849b04dab38566f3af2c..daef6ec7494c32c5329c6acffeb62f67e3b00513 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -51,9 +51,10 @@ class RegisterController extends Controller
     {
         return Validator::make($data, [
             'name' => 'required|string|max:255',
-            'username' => 'required|string|max:10|unique:users',
+            'username' => 'required|string|max:18|unique:users',
             'email' => 'required|string|email|max:255|unique:users',
             'password' => 'required|string|min:6|confirmed',
+            'phone' => 'required|min:8|max:12'
         ]);
     }
 
@@ -61,8 +62,9 @@ class RegisterController extends Controller
     {
         return Validator::make($data, [
             'name' => 'required|string|max:255',
-            'username' => 'required|string|max:10|unique:users',
+            'username' => 'required|string|max:18|unique:users',
             'email' => 'required|string|email|max:255|unique:users',
+            'phone' => 'required|min:8|max:12',
             'password' => 'required|min:6',
         ]);
     }
@@ -96,28 +98,21 @@ class RegisterController extends Controller
     public function registerUser(Request $request) {
         $data = $request->all();
         $username = $data['username'];
-        if(User::where('username',$username)->count()>0) {
-            echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-                    <button type="button" class="close" data-dismiss="alert">&times;</button>
-                    This user <strong>already exist.</strong>
-                  </div>';
-            return view('auth.register');
-        } else if(strlen($data['username']) > 18){
-            echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-                    <button type="button" class="close" data-dismiss="alert">&times;</button>
-                    <strong>Username</strong> too long (maximum size: 18 characters).
-                  </div>';
-            return view('auth.register');
-        } else if(strlen($data['phone']) > 18){
-            echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-                    <button type="button" class="close" data-dismiss="alert">&times;</button>
-                    <strong>Invalid</strong> phone number.
+        $validator = $this->validateRegister($data);
+
+        if ($validator->fails()) {
+            $error_messages = json_decode($validator->errors(), true);
+            foreach ($error_messages as $error_message) {
+                echo '<div class="alert alert-warning alert-dismissible fade show text-center">
+                    <button type="button" class="close" data-dismiss="alert">&times;</button>'
+                    .$error_message[0].' 
                   </div>';
+            }
             return view('auth.register');
         } else if (KelasTesis::select('id')->count()==0) {
             echo '<div class="alert alert-warning alert-dismissible fade show text-center">
                     <button type="button" class="close" data-dismiss="alert">&times;</button>
-                    Kelas Tesis is <strong>not available</strong>. There is no Kelas Tesis. 
+                    Kelas Tesis is <strong>not available</strong>. Please make sure there is available Kelas Tesis.
                   </div>';
             return view('auth.register');
         } else {
@@ -208,5 +203,4 @@ class RegisterController extends Controller
         }
         return view('auth.register');
     }
-
 }