2010-01-13 111 views
8

简单的问题还真(可以大胆地猜测,但只需要确保),是否有可能有客户端验证没有JavaScript

需要的只是一个是/否的答案似乎无法在任何地方claify。

原因?手机的网页,在所有移动浏览器中,javascript支持都是“粗略”的,所以完全不用JavaScript,并且想知道是否有其他选择。 (在别人告诉我之前,我当然会默认实现服务器端验证,如果可能的话在客户端立即验证内容更好,因为电话文本条目不是特别有趣地经历多次。此外,网页是asp.net 2.0 & c#应该会影响任何东西)

回答

16

不,没有。

我的意思是,更多的参与答案是“是的,当然还有其他类型的客户端脚本系统(Flash/Silverlight/ActiveX/etc)可以做到这一点”,但是在你的问题(电话),然后答案是否。

但是,我建议你可能会惊讶于手机运行JavaScript。保持它的基本,并保持它的优雅失败(即禁用JS禁用应用程序的功能),您可能会对兼容性感到惊讶。

+2

我同意柔滑。另外,恕我直言,客户端验证不能被信任,只对性能和预处理的原因有用。无论如何,输入需要在服务器端正确验证,所以如果它在客户端失败,它仍然会在服务器端进行验证。 那么它显然取决于你的应用程序和市场。 – Valentin 2010-01-13 12:37:18

+0

实际上,客户端脚本可以增强应用程序的可用性,不仅对性能和预处理有用。 – 2010-01-13 12:48:12

+0

@Valentin,完全同意。客户端验证非常适合性能,但我不会相信我的数据集成性,因为它可以轻松地关闭。但是,再次验证两个边界的效果非常好。 – AshtonKJ 2010-01-13 12:50:51

2

是的 - 但仅限于支持(且启用)JS的浏览器范围更广的浏览器。

例如你可以使用client side VBScript

+0

这怎么可能? – 2010-01-13 12:12:54

+0

使用VBScript?使用Javascript也是如此,但只能在IE中使用。 – 2010-01-13 12:31:02

1

不是。 HTML本身只允许限制文本框的最大长度,这是某种“验证”(通过限制)。

但是,再次 - 很多移动浏览器都运行JavaScript,即使“Opera Mini”也支持JS的基本(或不是基本的)东西。 Mobile Opera拥有完整的JS支持,IE也是如此。

有一个很好的名单谁灿做,它在QuirksMode.org(这里:http://www.quirksmode.org/m/table.html

3

HTML本身允许进行验证(输入形式的最大长度,非常点点这不多,作为验证)

这意味着您需要“更多”,在客户端进行真实/有用的验证......如果您想要某种适用于几乎每种浏览器的功能,都可以访问,而不会让用户恼火。 ..


作为一个旁注:永远不要忘记服务器端验证!
(是的,你在你的问题说 - 但它从来没有说过太多次了^^)

1

一个我建议在看东西是Mobile Device Browser File - 你的状态,你使用ASP .NET 2.0,所以假设你的服务器是最新的(即它安装了.NET Framework 2.0 SP2),你应该可以使用它。

这将帮助您的网站确定哪个浏览器正在查看您的网站,它支持哪些控件等,并帮助您对请求作出适当的响应。

I.e.如果您事先知道浏览器不支持JavaScript,则可以完全删除客户端验证,并且不会将所有额外的标记发送给浏览器,使他们对网站的体验更加清晰。

1

基本上没有。

如果你的市场包括支持新的HTML5输入类型的浏览器,有一些很基本的东西,你可以在那里做:http://diveintohtml5.ep.io/forms.html

除此之外,虽然,JavaScript是真正的唯一的真正的客户端选项。

(它也可以在VBScript中完成,但仅仅在Internet Explorer)

相关问题