Merge pull request #1634 from gjwalk/dev

reset validation
This commit is contained in:
Shaun Walker 2021-08-30 08:42:23 -04:00 committed by GitHub
commit acda6bba74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,24 +5,28 @@
@inject IStringLocalizer<Index> Localizer @inject IStringLocalizer<Index> Localizer
@inject IStringLocalizer<SharedResources> SharedLocalizer @inject IStringLocalizer<SharedResources> SharedLocalizer
<div class="container"> <form @ref="form" class="@(validated ? "was-validated" : "needs-validation")" novalidate>
<div class="form-group"> <div class="container">
<label for="Username" class="control-label">@SharedLocalizer["Username"] </label> <div class="form-group">
<input type="text" class="form-control" placeholder="Username" @bind="@_username" readonly id="Username" /> <label for="Username" class="control-label">@SharedLocalizer["Username"] </label>
<input type="text" class="form-control" placeholder="Username" @bind="@_username" readonly id="Username" />
</div>
<div class="form-group">
<label for="Password" class="control-label">@SharedLocalizer["Password"] </label>
<input type="password" class="form-control" placeholder="Password" @bind="@_password" id="Password" required />
</div>
<div class="form-group">
<label for="Confirm" class="control-label">@Localizer["Password.Confirm"] </label>
<input type="password" class="form-control" placeholder="Password" @bind="@_confirm" id="Confirm" required />
</div>
<button type="button" class="btn btn-primary" @onclick="Reset">@Localizer["Password.Reset"]</button>
<button type="button" class="btn btn-secondary" @onclick="Cancel">@SharedLocalizer["Cancel"]</button>
</div> </div>
<div class="form-group"> </form>
<label for="Password" class="control-label">@SharedLocalizer["Password"] </label>
<input type="password" class="form-control" placeholder="Password" @bind="@_password" id="Password" />
</div>
<div class="form-group">
<label for="Confirm" class="control-label">@Localizer["Password.Confirm"] </label>
<input type="password" class="form-control" placeholder="Password" @bind="@_confirm" id="Confirm" />
</div>
<button type="button" class="btn btn-primary" @onclick="Reset">@Localizer["Password.Reset"]</button>
<button type="button" class="btn btn-secondary" @onclick="Cancel">@SharedLocalizer["Cancel"]</button>
</div>
@code { @code {
private ElementReference form;
private bool validated = false;
private string _username = string.Empty; private string _username = string.Empty;
private string _password = string.Empty; private string _password = string.Empty;
private string _confirm = string.Empty; private string _confirm = string.Empty;
@ -43,45 +47,54 @@
private async Task Reset() private async Task Reset()
{ {
try validated = true;
var interop = new Interop(JSRuntime);
if (await interop.FormValid(form))
{ {
if (_username != string.Empty && _password != string.Empty && _confirm != string.Empty) try
{ {
if (_password == _confirm) if (_username != string.Empty && _password != string.Empty && _confirm != string.Empty)
{ {
var user = new User if (_password == _confirm)
{ {
SiteId = PageState.Site.SiteId, var user = new User
Username = _username, {
Password = _password SiteId = PageState.Site.SiteId,
}; Username = _username,
user = await UserService.ResetPasswordAsync(user, PageState.QueryString["token"]); Password = _password
};
user = await UserService.ResetPasswordAsync(user, PageState.QueryString["token"]);
if (user != null) if (user != null)
{ {
await logger.LogInformation("User Password Reset {Username}", _username); await logger.LogInformation("User Password Reset {Username}", _username);
NavigationManager.NavigateTo(NavigateUrl("login")); NavigationManager.NavigateTo(NavigateUrl("login"));
}
else
{
await logger.LogError("Error Resetting User Password {Username}", _username);
AddModuleMessage(Localizer["Error.Password.ResetInfo"], MessageType.Error);
}
} }
else else
{ {
await logger.LogError("Error Resetting User Password {Username}", _username); AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning);
AddModuleMessage(Localizer["Error.Password.ResetInfo"], MessageType.Error);
} }
} }
else else
{ {
AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning); AddModuleMessage(Localizer["Message.Required.UserInfo"], MessageType.Warning);
} }
} }
else catch (Exception ex)
{ {
AddModuleMessage(Localizer["Message.Required.UserInfo"], MessageType.Warning); await logger.LogError(ex, "Error Resetting User Password {Username} {Error}", _username, ex.Message);
AddModuleMessage(Localizer["Error.Password.Reset"], MessageType.Error);
} }
} }
catch (Exception ex) else
{ {
await logger.LogError(ex, "Error Resetting User Password {Username} {Error}", _username, ex.Message); AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning);
AddModuleMessage(Localizer["Error.Password.Reset"], MessageType.Error);
} }
} }