55 lines
2.0 KiB
C#
55 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
|
{
|
|
public class RegisterWizardModel
|
|
{
|
|
[Required(ErrorMessage = "The Email value should be specified.")]
|
|
[DataType(DataType.EmailAddress)]
|
|
[Display(Name = "Email", ResourceType = typeof(TIAM.Resources.TIAMResources))]
|
|
public string Email { get; set; }
|
|
public string Password { get; set; }
|
|
public string PasswordConfirmation { get; set; }
|
|
|
|
public RegisterWizardModel() { }
|
|
public RegisterWizardModel(string email, string password, string passwordConfirmation)
|
|
{
|
|
Email = email;
|
|
Password = password;
|
|
PasswordConfirmation = passwordConfirmation;
|
|
}
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
|
|
public class MinPasswordLengthAttribute : ValidationAttribute
|
|
{
|
|
int MinLength { get; }
|
|
public MinPasswordLengthAttribute(int minLength, string errorMsg) : base(errorMsg)
|
|
{
|
|
MinLength = minLength;
|
|
}
|
|
|
|
public override bool IsValid(object value)
|
|
{
|
|
return ((string)value).Length >= MinLength;
|
|
}
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
|
|
public class EmailAttribute : ValidationAttribute
|
|
{
|
|
public override bool IsValid(object value)
|
|
{
|
|
return Regex.IsMatch((string)value, @"^[\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*"
|
|
+ "@"
|
|
+ @"((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$");
|
|
}
|
|
}
|
|
}
|