mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-04-04 06:52:16 -04:00
Add missing translations for login and other client forms (#1153)
This commit is contained in:
committed by
Leendert de Borst
parent
19406cf58d
commit
ef72abceb4
44
apps/server/AliasVault.Client/Auth/Models/LoginFormModel.cs
Normal file
44
apps/server/AliasVault.Client/Auth/Models/LoginFormModel.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="LoginFormModel.cs" company="lanedirt">
|
||||
// Copyright (c) lanedirt. All rights reserved.
|
||||
// Licensed under the AGPLv3 license. See LICENSE.md file in the project root for full license information.
|
||||
// </copyright>
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
namespace AliasVault.Client.Auth.Models;
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using AliasVault.Client.Resources;
|
||||
using AliasVault.Shared.Models.WebApi.Auth;
|
||||
|
||||
/// <summary>
|
||||
/// Login form model with localized validation.
|
||||
/// </summary>
|
||||
public class LoginFormModel : LoginModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the username.
|
||||
/// </summary>
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.UsernameRequired))]
|
||||
public new string Username { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the password.
|
||||
/// </summary>
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
public new string Password { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Converts the form model to the base model.
|
||||
/// </summary>
|
||||
/// <returns>The base LoginModel.</returns>
|
||||
public LoginModel ToBaseModel()
|
||||
{
|
||||
return new LoginModel
|
||||
{
|
||||
Username = Username,
|
||||
Password = Password,
|
||||
RememberMe = RememberMe,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -20,20 +20,20 @@ public class RegisterFormModel : RegisterModel
|
||||
/// <summary>
|
||||
/// Gets or sets the username.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.UsernameRequired))]
|
||||
public new string Username { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the password.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
[MinLength(8, ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordMinLengthGeneric))]
|
||||
public new string Password { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the password confirmation.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
[Compare("Password", ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordsDoNotMatchGeneric))]
|
||||
public new string PasswordConfirm { get; set; } = null!;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
@using System.Text.Json
|
||||
@using AliasVault.Shared.Models.WebApi.Auth
|
||||
@using AliasVault.Client.Auth.Components
|
||||
@using AliasVault.Client.Auth.Models
|
||||
@using AliasVault.Client.Utilities
|
||||
@using AliasVault.Cryptography.Client
|
||||
@using SecureRemotePassword
|
||||
@@ -118,7 +119,7 @@ else
|
||||
}
|
||||
|
||||
@code {
|
||||
private readonly LoginModel _loginModel = new();
|
||||
private readonly LoginFormModel _loginModel = new();
|
||||
private readonly LoginModel2Fa _loginModel2Fa = new();
|
||||
private readonly LoginModelRecoveryCode _loginModelRecoveryCode = new();
|
||||
private FullScreenLoadingIndicator _loadingIndicator = new();
|
||||
|
||||
@@ -15,6 +15,7 @@ using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using AliasClientDb;
|
||||
using AliasVault.Client.Main.Models.FormValidation;
|
||||
using AliasVault.Client.Resources;
|
||||
|
||||
/// <summary>
|
||||
/// Credential edit model.
|
||||
@@ -39,7 +40,7 @@ public sealed class CredentialEdit
|
||||
/// <summary>
|
||||
/// Gets or sets the name of the service.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.ServiceNameRequired))]
|
||||
[Display(Name = "Service Name")]
|
||||
public string ServiceName { get; set; } = string.Empty;
|
||||
|
||||
|
||||
@@ -19,20 +19,20 @@ public class PasswordChangeFormModel : PasswordChangeModel
|
||||
/// <summary>
|
||||
/// Gets or sets the current password.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
public new string CurrentPassword { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the new password.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
[MinLength(10, ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordMinLength))]
|
||||
public new string NewPassword { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the password confirmation.
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordRequired))]
|
||||
[Compare("NewPassword", ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = nameof(ValidationMessages.PasswordsDoNotMatch))]
|
||||
public new string NewPasswordConfirm { get; set; } = null!;
|
||||
|
||||
|
||||
@@ -60,6 +60,16 @@ public static class ValidationMessages
|
||||
/// </summary>
|
||||
public static string MustAcceptTerms => GetResourceValue("MustAcceptTerms");
|
||||
|
||||
/// <summary>
|
||||
/// Gets the error message when service name is required.
|
||||
/// </summary>
|
||||
public static string ServiceNameRequired => GetResourceValue("ServiceNameRequired");
|
||||
|
||||
/// <summary>
|
||||
/// Gets the generic error message when a field is required.
|
||||
/// </summary>
|
||||
public static string FieldRequired => GetResourceValue("FieldRequired");
|
||||
|
||||
/// <summary>
|
||||
/// Gets the resource value for the specified key.
|
||||
/// </summary>
|
||||
|
||||
@@ -90,6 +90,14 @@
|
||||
<value>Secret key is required</value>
|
||||
<comment>Error message when secret key is required</comment>
|
||||
</data>
|
||||
<data name="ServiceNameRequired" xml:space="preserve">
|
||||
<value>Service name is required</value>
|
||||
<comment>Error message when service name is required</comment>
|
||||
</data>
|
||||
<data name="FieldRequired" xml:space="preserve">
|
||||
<value>This field is required</value>
|
||||
<comment>Generic error message when a field is required</comment>
|
||||
</data>
|
||||
|
||||
<!-- Terms and conditions -->
|
||||
<data name="MustAcceptTerms" xml:space="preserve">
|
||||
|
||||
Reference in New Issue
Block a user