可以在加载DOM之前提交表单吗?

时间:2015-10-27 14:37:16

标签: javascript jquery html .net forms

我正在考虑在DOM加载(document.onload)之后在页面上加载jQuery引用,以加快页面加载带有形式的页面(我的理解是DOM可以完成在外部脚本引用完成加载之前)

但是,我有点担心,如果用户能够在加载jQuery之前提交表单,那么我的客户端验证将不会到位。这将只留下我的服务器端验证,以防止表单提交滥用,感觉不太安全。

所以我的问题是用户可以在DOM准备就绪后立即提交表单,从而绕过我的客户端验证器,这些验证器在window.onload触发之前未完成加载吗?

2 个答案:

答案 0 :(得分:2)

服务器端是验证的最佳方式,无论客户端验证如何,都应该完成。尽管如此,当用户点击提交时触发您的客户端验证,您应该没问题。

答案 1 :(得分:1)

  

“......用户可以在DOM准备好后立即提交表单,从而绕过我的客户端验证器......”

是的,例如:用户可以轻松保存,编辑表单,删除任何验证JavaScript,然后在浏览器中加载该版本。然后他们可以将任何他们想要的值发送到任何参数。在服务器端进行验证和重新格式化可确保数据的使用/存储安全。 (Like in the case of an SQL Injection attack...

我主要使用客户端验证来进行界面设计逻辑,比如使用正则表达式来确定我是否应该在电子邮件字段中显示public JsonResult Post(itemVm model) { var item = new Item { Name = model.Name, IsActive = model.IsActive }; // do saving here and commit to database model.id = item.Id; return Json(model, JsonResultBehavior.DenyGet); } 。永远不要依赖客户来使数据良性化。