2012-05-10 19 views
8

Trong dự án ASP.NET MVC 3, tôi có yêu cầu xác thực trường tên trong dạng xem để cho phép một ký tự có dấu cụ thể. Vì vậy, trong mô hình quan điểm của tôi, tôi có một thuộc tính biểu thức chính quy được xác định trên chiếm đoạt tài sản như thế này:Thuộc tính xác thực mô hình biểu thức chính quy ASP.NET MVC4 không làm việc với các ký tự có dấu trọng âm

[RegularExpression("^[a-zA-Zá]{2,50}$")] 

Xin lưu ý đây không phải là mã chính xác, nó được đơn giản hóa để làm cho vấn đề của tôi dễ hiểu hơn.

Cụm từ thông dụng này hoạt động tốt phía máy chủ, nhưng không hoạt động ở phía máy khách. Nếu bạn xem HTML của trường nhập có chứa thuộc tính này:

data-val-regex-pattern="^[a-zA-Zá]{2,50}$" 

Như bạn có thể thấy ký tự có dấu đã được chuyển thành thực thể HTML làm vỡ cụm từ thông dụng. Bất cứ ai có thể cho tôi biết lý do tại sao điều này đang xảy ra và làm thế nào để sửa chữa nó?

CẬP NHẬT

Xin lỗi Tôi là một moron hoàn tất. Tôi đã hoàn toàn quên rằng chúng tôi đã nâng cấp lên MVC 4 beta một vài ngày trước. Sau đó tôi đã tạo ra một hai dự án thử nghiệm nhỏ, ai trong MVC 3 và một trong MVC 4. Vấn đề chỉ tồn tại trong MVC 4.

Trả lời

0

Hãy thử điều này:

^[a-zA-Z\u00E1]{2,50}$ 

Sử dụng \uXXXX, nơi XXXX mã hex của ký tự.

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