39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace MikrocopApi.Dtos;
|
|
|
|
public sealed class CreateUserDto
|
|
{
|
|
[Required]
|
|
[StringLength(100, MinimumLength = 3)]
|
|
public string UserName { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(200, MinimumLength = 2)]
|
|
public string FullName { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[EmailAddress]
|
|
[StringLength(200)]
|
|
public string Email { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(30, MinimumLength = 7)]
|
|
[RegularExpression(@"^\+?[0-9\- ]+$", ErrorMessage = "Mobile number contains invalid characters.")]
|
|
public string MobileNumber { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(10, MinimumLength = 2)]
|
|
[RegularExpression(@"^[a-zA-Z]{2,10}$", ErrorMessage = "Language must contain only letters.")]
|
|
public string Language { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(20, MinimumLength = 2)]
|
|
[RegularExpression(@"^[a-zA-Z]{2,10}(-[a-zA-Z]{2,10})?$", ErrorMessage = "Culture format is invalid.")]
|
|
public string Culture { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(128, MinimumLength = 8)]
|
|
public string Password { get; set; } = string.Empty;
|
|
}
|