2011-08-16 31 views
11

Tôi đang cố triển khai xác thực biểu mẫu html5 cho ứng dụng web của mình nhưng không hoạt động với safari 5.0.1, iphone3 hoặc android2. Thuộc tính đầu vào của biểu mẫu có bắt buộc, mẫu hoặc bất kỳ thứ gì liên quan đến xác thực không được các trình duyệt này hỗ trợ hay tôi đang mắc phải một số lỗi?Xác thực biểu mẫu Html5 không hoạt động với iphone, android hoặc safari

Làm việc với mozilla, chrome và opera. Nếu tôi sử dụng xác thực biểu mẫu html5 thì một lần nữa tôi cần viết mã như dự phòng. Nó là một ý tưởng tốt để sử dụng này hoặc cách cũ hơn như jquery và javascript đồng bằng? Nếu có ai có ý tưởng xin vui lòng cho tôi biết.

Vui lòng kiểm tra liên kết này (tôi đã viết một số mã) và thử nó trong iphone, android hoặc Safari:

http://24ways.org/examples/have-a-field-day-with-html5-forms/24ways-form.html

+5

Bạn nên bắt đầu đánh dấu các câu trả lời đúng là câu trả lời, nếu bạn muốn câu hỏi của bạn được trả lời trong tương lai. Mọi người cố gắng giải quyết vấn đề của bạn. Ít nhất bạn có thể làm là đánh giá cao họ :) – NomadTraveler

Trả lời

16

Nếu bạn đang sử dụng jQuery, bạn có thể có một cái nhìn tại the h5Validate plugin. Điều này cho biết thêm hỗ trợ qua trình duyệt để xác thực biểu mẫu xuống IE6. Theo project's website:

  • Thường xuyên thử nghiệm trên 13 trình duyệt khác nhau, IE6 - IE9, FireFox, Chrome , iPhone và Android.

  • Thực hiện các phương pháp hay nhất dựa trên khảo sát 1.000 người dùng, một số nghiên cứu về khả năng sử dụng và hoạt động của hàng triệu người dùng trong các môi trường sản xuất trực tiếp .

Nền tảng hỗ trợ:

  • Desktop: IE 9, 8, 7, 6, Chrome, Firefox, Safari và Opera. Thử nghiệm trên Windows 7 và Mac.

  • thoại di động: iPhone, Android, Palm WebOS

+1

có, tôi nhìn vào đó. cái đó thật tuyệt. thanx. – prabhat

+1

+1 cho đề xuất plugin h5validate – RY35

2

Để được như qua trình duyệt thân thiện càng tốt, bạn nên luôn luôn mã với kỳ vọng rằng các nền tảng khách hàng sẽ không có hỗ trợ cho những thứ mới hơn, như xác thực HTML5. Vì vậy, trong khi tận dụng khả năng của các trình duyệt mới hơn là rất tốt và cho phép bạn cung cấp cho người dùng trải nghiệm đẹp hơn nhiều, điều quan trọng cần nhớ là không phải ai cũng có cùng khả năng.

Điều đó đang được nói, bất kỳ loại xác thực nào bạn thực hiện trong trình duyệt (với Javascript hoặc HTML5) chỉ là sự tiện lợi cho người dùng và tiền tiết kiệm khi gọi lại máy chủ. Bạn nên LUÔN LUÔN triển khai xác thực trên máy chủ vì rất dễ dàng để vượt qua xác thực phía máy khách. Cách phát triển ưu tiên của tôi là thực hiện xác thực hoàn toàn phía máy chủ trước tiên, và sau đó một lần là vững chắc, thêm vào dựa trên javascript, và sau đó xác thực dựa trên HTML5, sử dụng phương pháp "phát triển lũy tiến" để progressive enhancement.

+0

Cảm ơn ý tưởng hay này – prabhat

+0

@prabhat - Nếu câu trả lời được giải quyết câu hỏi của bạn hoặc là câu trả lời hay nhất cho câu hỏi của bạn, hãy đánh dấu câu trả lời đó. Nếu một câu trả lời là hữu ích (ngay cả khi nó không phải là câu trả lời bạn chấp nhận), xin vui lòng bỏ phiếu cho nó. – cdeszaq

4

Firefox và Opera đều hỗ trợ HTML 5 và đặc biệt là hình thức xác nhận ...

Tôi vừa trải qua hai ngày viết một số mã mới chỉ để nhận ra IE và Safari vẫn chưa thực hiện xác nhận HTML 5 ...

lựa chọn của tôi là rõ ràng, hoặc là tôi recode sử dụng javascript (khó khăn là hình thức được tự động tạo ra) hoặc nói với mọi người sử dụng Firefox hay Opera, nếu không xác nhận là không thực hiện ...

My lựa chọn ... giữ mã hiện tại của tôi và chờ những người khác bắt kịp ...

Firefox và IE10 hỗ trợ một số trong số đó.

Opera và Chrome hỗ trợ tất cả.

Safari cũng hỗ trợ tất cả, nhưng xác thực biểu mẫu bị tắt theo mặc định.

Cập nhật ... Chỉ cần đi qua một bài đăng cho thấy Safari không hỗ trợ xác thực biểu mẫu, không có thắc mắc tôi không thể tìm thấy anyway để bật tính năng này?

+0

4 năm sau, vẫn chưa được xác nhận hợp lệ (wtf safari?) – Frankenmint

0

Tôi đã gặp vấn đề tương tự với ứng dụng tìm kiếm công việc Tôi đang trong quá trình xây dựng. Plugin h5Validate đã giải quyết vấn đề chính xác này. Nó bổ sung trong các lỗ xác nhận HTML5 cho nhiều trình duyệt và các thiết bị:

  • Desktop: IE 9, 8, 7, 6, Chrome, Firefox, Safari và Opera. Thử nghiệm trên Windows 7 và Mac.
  • Mobile: iPhone, Android, Palm WebOS

Nếu bạn đã từng sử dụng các plugin xác nhận jQuery, nó rất giống nhau. Hãy nghĩ về nó như là một phần mở rộng cho các hình thức HTML5.

0

Tại sao bạn không thử webshim? Tôi đã có cùng một vấn đề và bây giờ mọi thứ đều tuyệt vời! Tất cả những gì bạn cần làm là tải xuống thư viện, sau đó đặt thư mục js-webshim vào dự án của bạn. Bao gồm mã này

<script src="js-webshim/minified/polyfiller.js"></script> 

<script> 
    webshim.activeLang('en'); 
    webshims.polyfill('forms'); 
    webshims.cfg.no$Switch = true; 
</script> 

Tôi hy vọng điều này sẽ giúp bạn cũng

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