2012-01-02 43 views
12

thể trùng lặp:
Password validation (regex?)Mật khẩu DataAnnotation trong ASP.NET MVC 3

tôi đang làm việc trên asp.net ứng dụng MVC 3 và tôi đã áp dụng

[Required] 
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

DataAnnotation vào trường Mật khẩu của tôi. Tôi muốn đảm bảo rằng mật khẩu phải có ít nhất 6 ký tự, không quá 18 ký tự và phải bao gồm ít nhất một chữ hoa, một ký tự viết thường và một chữ số. Tôi có cần phải thêm cụm từ thông dụng hoặc DataType.password sẽ làm tất cả điều này không?

Vui lòng đề xuất

+2

Điều này liên quan đến khuôn khổ thực thể như thế nào? –

+1

Không liên quan đến Entity Framework – IamStalker

Trả lời

24

Bạn phải viết chính xác những gì bạn muốn. Viết điều này:

[Required] 
[StringLength(18, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
[RegularExpression(@"^((?=.*[a-z])(?=.*[A-Z])(?=.*\d)).+$)"] 
[DataType(DataType.Password)] 
[Display(Name = "Password")] 
public string Password { get; set; } 
+0

Tôi đã thử nó nhưng nhận: phân tích cú pháp "^ (? =. * [Az]) (? =. * [AZ]) (? =. * \ D)). + $" - Quá nhiều)'S. –

+1

Tôi xin lỗi tôi bỏ lỡ '('. Try this: "^ ((? =. * [Az]) (? =. * [AZ]) (? =. * \ D)). + $" – Hadas

+2

@Hadas thay vì nhận xét, vui lòng cập nhật câu trả lời gốc của bạn –

Các vấn đề liên quan