仅通过设置maxlength
来限制用户输入值是否足够?假设我有这段代码:
<input type="text" id="foo" maxlength="12">
用户是否仍然可以(以任何有效或无效的方式)插入超过12
的值?
当我们设置maxlength
时,是有用还是无用再次使用javascript或可能在后端(servlet等)验证它?
答案 0 :(得分:9)
仅通过设置maxlength来限制用户输入值是否足够?
没有
用户是否仍然可以(以任何有效或无效的方式)插入超过12的值?
是
当我们设置了maxlength时,使用javascript或者后端(servlet等)再次验证它是否有用或无用?
你应该验证,最好是在后端验证。
那是因为您不一定需要浏览器将数据传递到服务器。还有其他客户端软件,如REST测试程序,curl,wget,篡改数据和类似软件,可以直接向服务器发送请求,所有这些都绕过了maxlength
属性和JS验证。
因此,如果您想要快速验证以便用户获得快速,交互式的响应,那么您的maxlength
和JS验证就可以完成这项工作。但是,在将数据传递给服务器时,您应该进行第二次验证,这次是为了安全。
答案 1 :(得分:1)
一切都在你身上。 选择数据类型,只允许在数据库中使用12个值。
客户端的工作在验证后完成,但数据库不会保存超过12的值。