MINI Sh3ll
@extends('auth.master')
@section('title', 'Reset Password')
@section('content')
<div class="m-login__signin">
<div class="m-login__head">
<h3 class="m-login__title">
Reset Password
</h3>
</div>
<form class="m-login__form m-form" id="resetPasswordForm"
action="{{ route('password.update') }}" method="POST"
data-parsley-excluded="input[type=button], input[type=submit], input[type=reset], input[type=hidden], [disabled], :hidden"
data-parsley-trigger="keyup"
data-parsley-validate="">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="form-group m-form__group">
<label for="email">
Email address
</label>
<input class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }} m-input" id="email" type="email"
name="email" value="{{ base64_decode($token) ?? old('email') }} " readonly="">
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group m-form__group">
<label for="password">
Password
</label>
<input
class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }} m-input m-login__form-input--last"
id="password" type="password" placeholder="Password" name="password" data-parsley-minlength="6"
data-parsley-errors-container=".errorspannewpassinput"
data-parsley-required-message="Please enter your new password." data-parsley-uppercase="1"
data-parsley-lowercase="1" data-parsley-number="1" data-parsley-special="1" data-parsley-required>
<span class="errorspannewpassinput"></span>
</div>
<div class="form-group m-form__group">
<label for="password-confirm">
Confirm Password
</label>
<input class="form-control m-input m-login__form-input--last" id="password-confirm" type="password"
placeholder="Password" name="password_confirmation"
data-parsley-minlength="6"
data-parsley-errors-container=".errorspanconfirmnewpassinput"
data-parsley-required-message="Please re-enter your new password." data-parsley-uppercase="1"
data-parsley-lowercase="1" data-parsley-number="1" data-parsley-special="1"
data-parsley-equalto="#password" data-parsley-required>
<span class="errorspanconfirmnewpassinput"></span>
</div>
<div class="m-login__form-action">
<button type="submit" class="btn btn-focus m-btn m-btn--pill m-btn--custom m-btn--air">
Reset Password
</button>
</div>
</form>
</div>
@endsection
@section('js')
<script>
$(document).ready(function() {
$('#resetPasswordForm').parsley();
window.Parsley.addValidator('uppercase', {
requirementType: 'number',
validateString: function(value, requirement) {
var uppercases = value.match(/[A-Z]/g) || [];
return uppercases.length >= requirement;
},
messages: {
en: 'Your password must contain at least (%s) uppercase letter.'
}
});
//has lowercase
window.Parsley.addValidator('lowercase', {
requirementType: 'number',
validateString: function(value, requirement) {
var lowecases = value.match(/[a-z]/g) || [];
return lowecases.length >= requirement;
},
messages: {
en: 'Your password must contain at least (%s) lowercase letter.'
}
});
//has number
window.Parsley.addValidator('number', {
requirementType: 'number',
validateString: function(value, requirement) {
var numbers = value.match(/[0-9]/g) || [];
return numbers.length >= requirement;
},
messages: {
en: 'Your password must contain at least (%s) number.'
}
});
//has special char
window.Parsley.addValidator('special', {
requirementType: 'number',
validateString: function(value, requirement) {
var specials = value.match(/[^a-zA-Z0-9]/g) || [];
return specials.length >= requirement;
},
messages: {
en: 'Your password must contain at least (%s) special characters.'
}
});
});
</script>
@endsection
OHA YOOOO