【问题标题】:Internationalization at HTML5HTML5 国际化
【发布时间】:2011-10-27 20:33:47
【问题描述】:

如何更改 HTML5 的消息(或根据浏览器的语言自动更改?)

例如:

<!DOCTYPE HTML>    
<html>    
<body>        

<form action="demo_form.asp" method="get">

E-mail: <input type="email" name="user_email" /><br />

<input type="submit" />

</form>


</body>    
</html>

当我在 Opera 上运行这段代码(来自W3schools)并写了一个无效的电子邮件地址时,它说

Please enter a valid email address

如何将其更改为另一种语言而不是英语或将警告更改为我想要的?

【问题讨论】:

  • 除非您自己提供该消息并且您没有使用任何提供该消息的库,否则我认为可以安全地假设浏览器将以安装它的语言提供该消息。跨度>
  • 国际化与asp页面有关。您需要包装验证类并制作自己的消息。
  • 为了更通用,如果可以自定义这些浏览器生成的消息的显示,我也非常感兴趣。 Chrome 显示验证错误的方式非常难看。也许您可以将此问题扩展到一般涵盖“如何自定义 HTML5 验证”?
  • @Vince2doom &lt;input type="email"&gt; 使支持此功能的浏览器在表单发送到服务器之前对其进行验证。
  • @Vince2doom 我知道验证应该在服务器端,但我想利用 HTML5 的力量并在土耳其语中显示该消息。

标签: validation html email-validation


【解决方案1】:

嗯,有不同的选择。

  1. 您可以使用 formnovalidate 禁用表单(或字段)的表单验证,并使用 javascript(当然还有服务器端)提供自定义错误消息。

  2. 您可以使用 javascript 并使用 .setCustomValidity() 方法提供(自定义)错误消息,但它旨在向字段添加额外规则。

  3. 您可以使用x-moz-errormessage 设置自定义错误消息。但是使用这个你需要知道这不是一个标准。

【讨论】:

    【解决方案2】:

    目前在 HTML(5) 中没有内置的国际化解决方案,所有建议似乎都是 dead。但是,您可能会发现 Passive Localisation JavaScript 库有些用处。在线演示可以找到here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2015-08-31
      • 2011-12-27
      • 2021-12-10
      • 2019-10-08
      • 2019-02-09
      相关资源
      最近更新 更多