RegisterInput.cs 1.4 KB

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