2014-09-16 9 views
5

इस प्रकार मैं एक पासवर्ड सत्यापनकर्ता बनाया:RequireNonLetterOrDigit नहीं सही ढंग से मान्य

manager.PasswordValidator = new PasswordValidator 
{ 
    RequiredLength = 8, 
    RequireNonLetterOrDigit = false, 
    RequireDigit = false, 
    RequireLowercase = true, 
    RequireUppercase = true, 
}; 

लेकिन, इस तरह के Testing123 के रूप में एक पासवर्ड मान्य नहीं होता:

पासवर्ड कम से कम एक गैर अक्षर या अंक वर्ण होना चाहिए ।

त्रुटि संदेश बहुत स्पष्ट नहीं है, यह कहना है कि पासवर्ड कम से कम एक गैर पत्र या अंकों चरित्र होना चाहिए। खैर, मेरे पास 3 अंक हैं। तो फिर क्या गलत है? जब मैं एक गैर अक्षर

+0

आप RequireNonLetterOrDigit = सच मतलब है? – divega

उत्तर

10

इस संपत्ति का नाम और documentation दोनों अस्पष्ट हैं। यह होना चाहिए:

पासवर्ड प्राप्त करता है या सेट करता है कि पासवर्ड को ऐसे वर्ण की आवश्यकता है जो पत्र नहीं है और अंक नहीं है।

+0

यह समझ में आता है। धन्यवाद! – jao

1
public class CustomPasswordValidator : PasswordValidator 
{ 
    public override async Task<IdentityResult> ValidateAsync(string password) 
    { 
     var requireNonLetterOrDigit = base.RequireNonLetterOrDigit; 
     base.RequireNonLetterOrDigit = false; 
     var result = await base.ValidateAsync(password); 

     if (!requireNonLetterOrDigit) 
      return result; 

     if (!Enumerable.All<char>((IEnumerable<char>)password, new Func<char, bool>(this.IsLetterOrDigit))) 
      return result; 

     // Build a new list of errors so that the custom 'PasswordRequireNonLetterOrDigit' could be added. 
     List<string> list = new List<string>(); 
     foreach (var error in result.Errors) 
     { 
      list.Add(error); 
     } 
     // Add our own message: (The default by MS is: 'Passwords must have at least one non letter or digit character.') 
     list.Add("Passwords must have at least one character that is neither a letter or digit. (E.g. '£ $ %^_ etc.')"); 
     result = await Task.FromResult<IdentityResult>(IdentityResult.Failed(string.Join(" ", (IEnumerable<string>)list))); 

     return result; 
    } 
} 
+1

कुछ स्पष्टीकरण उपयोगी होगा – Anton

संबंधित मुद्दे