mirror of
https://github.com/LinkStackOrg/LinkStack.git
synced 2025-02-16 12:00:50 +01:00
Added Page URL to register page
+ validation
This commit is contained in:
parent
d6264b4064
commit
0b6e9b5ace
@ -11,33 +11,36 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
class RegisteredUserController extends Controller
|
class RegisteredUserController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Display the registration view.
|
|
||||||
*
|
|
||||||
* @return \Illuminate\View\View
|
|
||||||
*/
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
return view('auth.register');
|
return view('auth.register');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function validateHandle(Request $request)
|
||||||
* Handle an incoming registration request.
|
{
|
||||||
*
|
$validator = Validator::make($request->all(), [
|
||||||
* @param \Illuminate\Http\Request $request
|
'littlelink_name' => 'required|string|max:50|unique:users',
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
]);
|
||||||
*
|
|
||||||
* @throws \Illuminate\Validation\ValidationException
|
if ($validator->fails()) {
|
||||||
*/
|
return response()->json(['valid' => false]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json(['valid' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'name' => 'required|string|max:255',
|
'name' => 'required|string|max:255',
|
||||||
|
'littlelink_name' => 'required|string|max:50|unique:users',
|
||||||
'email' => 'required|string|email|max:255|unique:users',
|
'email' => 'required|string|email|max:255|unique:users',
|
||||||
'password' => 'required|string|confirmed|min:8',
|
'password' => 'required|string|min:8',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$name = $request->input('name');
|
$name = $request->input('name');
|
||||||
@ -48,23 +51,13 @@ class RegisteredUserController extends Controller
|
|||||||
$block = 'no';
|
$block = 'no';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(DB::table('users')->where('littlelink_name', $request->name)->exists())
|
Auth::login($user = User::create([
|
||||||
{
|
'name' => $request->name,
|
||||||
Auth::login($user = User::create([
|
'email' => $request->email,
|
||||||
'name' => $request->name,
|
'littlelink_name' => $request->littlelink_name,
|
||||||
'email' => $request->email,
|
'password' => Hash::make($request->password),
|
||||||
'password' => Hash::make($request->password),
|
'role' => 'user',
|
||||||
'role' => 'user',
|
]));
|
||||||
]));
|
|
||||||
} else {
|
|
||||||
Auth::login($user = User::create([
|
|
||||||
'name' => $request->name,
|
|
||||||
'email' => $request->email,
|
|
||||||
'littlelink_name' => $request->name,
|
|
||||||
'password' => Hash::make($request->password),
|
|
||||||
'role' => 'user',
|
|
||||||
]));
|
|
||||||
}
|
|
||||||
|
|
||||||
$user->block = $block;
|
$user->block = $block;
|
||||||
$user->save();
|
$user->save();
|
||||||
|
@ -18,7 +18,7 @@ foreach($pages as $page)
|
|||||||
<!-- Validation Errors -->
|
<!-- Validation Errors -->
|
||||||
<x-auth-validation-errors class="mb-4" :errors="$errors" />
|
<x-auth-validation-errors class="mb-4" :errors="$errors" />
|
||||||
|
|
||||||
<div style="max-width:480px" class="container mt-5 w-100">
|
<div class="container mt-5 w-100">
|
||||||
<div class="card p-5">
|
<div class="card p-5">
|
||||||
<a href="{{ url('') }}" class="d-flex align-items-center mb-3">
|
<a href="{{ url('') }}" class="d-flex align-items-center mb-3">
|
||||||
<!--Logo start-->
|
<!--Logo start-->
|
||||||
@ -53,6 +53,16 @@ foreach($pages as $page)
|
|||||||
<input type="text" class="form-control" id="name" name="name" aria-describedby="name" placeholder=" " :value="old('name')" required autofocus >
|
<input type="text" class="form-control" id="name" name="name" aria-describedby="name" placeholder=" " :value="old('name')" required autofocus >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="littlelink_name" class="form-label">{{__('messages.Page URL')}}</label>
|
||||||
|
<div class="input-group mb-3 has-validation">
|
||||||
|
<span class="input-group-text" id="basic-addon3">{{str_replace(['http://', 'https://'], '', url(''))}}/@</span>
|
||||||
|
<input type="littlelink_name" class="form-control" id="littlelink_name" name="littlelink_name" aria-describedby="littlelink_name" placeholder=" " :value="old('littlelink_name')" required autofocus >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@include('auth.url-validation')
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="email" class="form-label">{{__('messages.Email')}}</label>
|
<label for="email" class="form-label">{{__('messages.Email')}}</label>
|
||||||
@ -65,12 +75,6 @@ foreach($pages as $page)
|
|||||||
<input type="password" class="form-control" id="password" aria-describedby="password" placeholder=" " name="password" required autocomplete="new-password" />
|
<input type="password" class="form-control" id="password" aria-describedby="password" placeholder=" " name="password" required autocomplete="new-password" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="password_confirmation" class="form-label">{{__('messages.Confirm Password')}}</label>
|
|
||||||
<input type="password" class="form-control" id="password_confirmation" aria-describedby="password_confirmation" placeholder=" " name="password_confirmation" required />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-12 d-flex justify-content-between">
|
<div class="col-lg-12 d-flex justify-content-between">
|
||||||
<div class="form-check mb-3">
|
<div class="form-check mb-3">
|
||||||
<input type="checkbox" class="form-check-input" name="remember" id="remember_me">
|
<input type="checkbox" class="form-check-input" name="remember" id="remember_me">
|
||||||
@ -79,7 +83,7 @@ foreach($pages as $page)
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-center">
|
<div class="d-flex justify-content-center">
|
||||||
<button type="submit" class="btn btn-primary">{{__('messages.Sign Up')}}</button>
|
<button id="submit-btn" type="submit" class="btn btn-primary">{{__('messages.Sign Up')}}</button>
|
||||||
</div>
|
</div>
|
||||||
@if(env('ENABLE_SOCIAL_LOGIN') == 'true')
|
@if(env('ENABLE_SOCIAL_LOGIN') == 'true')
|
||||||
<p class="text-center my-3">{{__('messages.or sign in with other accounts?')}}</p>
|
<p class="text-center my-3">{{__('messages.or sign in with other accounts?')}}</p>
|
||||||
|
38
resources/views/auth/url-validation.blade.php
Normal file
38
resources/views/auth/url-validation.blade.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<script>{!! file_get_contents(base_path("assets/js/jquery.min.js")) !!}</script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
var submitBtn = $('#submit-btn');
|
||||||
|
|
||||||
|
$('#littlelink_name').on('keyup', function () {
|
||||||
|
var littlelinkName = $(this).val();
|
||||||
|
|
||||||
|
if (littlelinkName.trim() !== '') {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '{{url("/validate-handle")}}',
|
||||||
|
data: {
|
||||||
|
'_token': '{{ csrf_token() }}',
|
||||||
|
'littlelink_name': littlelinkName
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#littlelink_name').removeClass('is-valid is-invalid');
|
||||||
|
$('#username-error').remove();
|
||||||
|
|
||||||
|
if (data.valid) {
|
||||||
|
$('#littlelink_name').addClass('is-valid');
|
||||||
|
submitBtn.prop('disabled', false);
|
||||||
|
} else {
|
||||||
|
$('#littlelink_name').addClass('is-invalid');
|
||||||
|
$('<div id="username-error" class="invalid-feedback">That username is already taken</div>').insertAfter('#littlelink_name');
|
||||||
|
submitBtn.prop('disabled', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('#littlelink_name').removeClass('is-valid is-invalid');
|
||||||
|
$('#username-error').remove();
|
||||||
|
submitBtn.prop('disabled', true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
Loading…
x
Reference in New Issue
Block a user