RegisterInput.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Abp.Auditing;
  2. using Abp.Extensions;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations;
  5. using VberAdmin.Validation;
  6. using VberZero.BaseSystem.Users;
  7. namespace VberAdmin.Authorization.Accounts.Dto;
  8. public class RegisterInput : IValidatableObject
  9. {
  10. [Required]
  11. [StringLength(User.MaxNameLength)]
  12. public string Name { get; set; }
  13. [Required]
  14. [StringLength(User.MaxSurnameLength)]
  15. public string Surname { get; set; }
  16. [Required]
  17. [StringLength(User.MaxUserNameLength)]
  18. public string UserName { get; set; }
  19. [Required]
  20. [EmailAddress]
  21. [StringLength(User.MaxEmailAddressLength)]
  22. public string EmailAddress { get; set; }
  23. [Required]
  24. [StringLength(User.MaxPlainPasswordLength)]
  25. [DisableAuditing]
  26. public string Password { get; set; }
  27. [DisableAuditing]
  28. public string CaptchaResponse { get; set; }
  29. public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
  30. {
  31. if (!UserName.IsNullOrEmpty())
  32. {
  33. if (!UserName.Equals(EmailAddress) && ValidationHelper.IsEmail(UserName))
  34. {
  35. yield return new ValidationResult("Username cannot be an email address unless it's the same as your email address!");
  36. }
  37. }
  38. }
  39. }