-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPasswordStrengthAttribute.cs
More file actions
22 lines (21 loc) · 1.8 KB
/
PasswordStrengthAttribute.cs
File metadata and controls
22 lines (21 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using MyPasswordStrength;
using System.ComponentModel.DataAnnotations;
namespace YourNamespace
{
public class PasswordStrengthAttribute : RegularExpressionAttribute
{
public PasswordStrengthAttribute(int minimumLength = 6, bool requireUppercase = true, int minUppercase = 1,
bool requireLowercase = true, int minLowercase = 1, bool requireDigit = true, int minDigit = 1,
bool requireSpecialCharacter = true, int minSpecialCharacter = 1, string specialCharacters = @"@$!%*?&",
bool requireMaxNoOfSameConsecutiveCharacters = true, int maxNoOfSameConsecutiveCharacters = 2,
bool requireMaxNoOfConsecutiveAscendingDigits = true, MaxNoOfConsecutiveDigits maxNoOfConsecutiveAscendingDigits = MaxNoOfConsecutiveDigits.Two,
bool requireMaxNoOfConsecutiveDescendingDigits = true, MaxNoOfConsecutiveDigits maxNoOfConsecutiveDescendingDigits = MaxNoOfConsecutiveDigits.Two)
: base(PasswordStrengthValidator.GetRegexPattern(minimumLength, requireUppercase, minUppercase, requireLowercase, minLowercase,
requireDigit, minDigit, requireSpecialCharacter, minSpecialCharacter, specialCharacters,
requireMaxNoOfSameConsecutiveCharacters, maxNoOfSameConsecutiveCharacters,
requireMaxNoOfConsecutiveAscendingDigits, maxNoOfConsecutiveAscendingDigits,
requireMaxNoOfConsecutiveDescendingDigits, maxNoOfConsecutiveDescendingDigits))
{
}
}
}