使用输入maxlength的限制是否足够?

时间:2014-01-07 07:11:45

标签: javascript html validation

仅通过设置maxlength来限制用户输入值是否足够?假设我有这段代码:

    <input type="text" id="foo" maxlength="12">

用户是否仍然可以(以任何有效或无效的方式)插入超过12的值?

当我们设置maxlength时,是有用还是无用再次使用javascript或可能在后端(servlet等)验证它?

2 个答案:

答案 0 :(得分:9)

  

仅通过设置maxlength来限制用户输入值是否足够?

没有

  

用户是否仍然可以(以任何有效或无效的方式)插入超过12的值?

  

当我们设置了maxlength时,使用javascript或者后端(servlet等)再次验证它是否有用或无用?

应该验证,最好是在后端验证。


那是因为您不一定需要浏览器将数据传递到服务器。还有其他客户端软件,如REST测试程序,curl,wget,篡改数据和类似软件,可以直接向服务器发送请求,所有这些都绕过了maxlength属性和JS验证。

因此,如果您想要快速验证以便用户获得快速,交互式的响应,那么您的maxlength和JS验证就可以完成这项工作。但是,在将数据传递给服务器时,您应该进行第二次验证,这次是为了安全。

答案 1 :(得分:1)

一切都在你身上。 选择数据类型,只允许在数据库中使用12个值。

客户端的工作在验证后完成,但数据库不会保存超过12的值。