using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text.RegularExpressions; using Abp.Extensions; using IwbZero.Authorization.Base.Users; namespace WeOnlineApp.Models.Account { public class RegisterViewModel : IValidatableObject { [Required] [StringLength(UserBase.MaxNameLength)] public string Name { get; set; } [Required] [StringLength(UserBase.MaxSurnameLength)] public string Surname { get; set; } [StringLength(UserBase.MaxUserNameLength)] public string UserName { get; set; } [Required] [EmailAddress] [StringLength(UserBase.MaxEmailAddressLength)] public string EmailAddress { get; set; } [StringLength(UserBase.MaxPlainPasswordLength)] public string Password { get; set; } public bool IsExternalLogin { get; set; } public string ExternalLoginAuthSchema { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (!UserName.IsNullOrEmpty()) { var emailRegex = new Regex(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"); if (!UserName.Equals(EmailAddress) && emailRegex.IsMatch(UserName)) { yield return new ValidationResult("Username cannot be an email address unless it's same with your email address !"); } } } } }