Tôi đang viết câu hỏi này tại đây sau khi cố tìm câu trả lời trong hai ngày.Xác thực url mvc4
về cơ bản đây là những gì đang diễn ra.
tôi có một tài sản trong viewmodel như sau
[Required(ErrorMessage = "Required Field")]
[Url(ErrorMessage="Please enter a valid url")]
[DisplayName("Website")]
public string web { get; set; }
trong giao diện, tôi có điều này
@Html.EditorFor(model => model.web, new { AutoCompleteType = "Disabled", autocomplete = "off" })
nay là vấn đề nằm trong cách thức nhập văn bản cho lĩnh vực này được xác nhận trong phía khách hàng. trường phải có tiền tố giao thức mọi lúc, nếu không nó sẽ trở thành không hợp lệ.
cách tốt nhất để khắc phục vấn đề này là gì?
Rất cám ơn
Xin chào, cảm ơn bạn đã trả lời. Tôi đã cố gắng sử dụng '[Url (UrlOptions.OptionalProtocol)]'. nhưng đối với 'UrlOptions' có sẵn, tôi phải thêm' using DataAnnotationsExtensions', sau đó 'Url' trở nên mơ hồ. để sửa lỗi đó, tôi đã sử dụng '[DataAnnotationsExtensions.Url (UrlOptions.OptionalProtocol)]' nhưng nó không xác thực trong giao diện người dùng. – Amila
Được rồi, Cho đến khi tôi tìm thấy những gì tôi đang làm sai với DataAnnotationsExtensions, tôi sẽ kết hợp các câu trả lời. Tôi nắm lấy biểu thức chính quy cho giao thức tùy chọn từ [link] (http://dataannotationsextensions.org/Url/Create) và sử dụng chú thích dữ liệu biểu thức chính quy để xác thực. bây giờ nó hoạt động tốt. Nhưng tôi muốn sử dụng các tiện ích chú thích khác được cung cấp trong DataAnnotationExtensions. Vì vậy, phải tìm ra những gì đang xảy ra – Amila
@ Amila Tôi đã có cùng một vấn đề. Tôi đã đi với việc sử dụng áp lực này thường xuyên thay thế. Không phải tất cả bao gồm nhưng thực hiện công việc '[RegularExpression ("^[(http (s)?): \\/\\/(www \\.)? A-zA-Z0-9 @:% ._ \\ + ~ # =] {2,256} \\. [Az] {2,6} \\ b ([- a-zA-Z0-9 @:% _ \\ +. ~ #? & // =] *) $ ")]' – Lsakurifaisu