【问题标题】:How to check for empty fields and return to the form with entered data如何检查空字段并返回输入数据的表单
【发布时间】:2021-06-28 23:18:45
【问题描述】:

我在我的 Node 项目中使用 EJS 进行模板化。我已经建立了一个包含 30 多个字段的表单。 在提交时,我会检查空的和必填的表单字段,如果发现是空的,则返回表单。 我想保存用户输入的其他表单字段数据,这样他们就不必从一开始就重新输入所有内容。 这就是我的代码的样子,我没有在此处添加所有字段名称以节省阅读时间。

const register = (req, res) => {
    const firstname = req.body.firstname;
    const lastname = req.body.lastname;
    const fullname = req.body.fullname;
    const nic = req.body.nic;
    const gender = req.body.gender;
    const dob = req.body.dob;
    const age = req.body.age;
    if (!firstname || !lastname || !nic) return res.redirect('/users/register');
}

我是编码和 stackoverflow 方面的新手,所以请帮我解决这个问题。 提前谢谢了.... 请原谅我的英语不够好

【问题讨论】:

  • 附带说明,我会将对象发布到服务器端的对象,而不是处理单个字段和值。如果肯定会减少您对事物映射所做的很多事情。还可以更轻松地对这些字段进行验证。

标签: javascript node.js express ejs


【解决方案1】:

只需在输入中添加一个 onkeydown 并检查输入是否为空。如果是,则向用户发出一条消息,否则,继续。 代码如下:

<input type="text" id="input" onkeydown="myFunction()">
<script>
function myFunction(){
var a = document.getElementById('input').value;
if(a == ""){
alert("Please enter something"); 
}
else{
// code...
}
</script>

【讨论】:

  • 永远不要相信客户端表单验证和验证
  • @Masood,我看不出有什么问题。在服务器端执行此操作更加危险,因为人们可以使用 SQL 注入来删除/删除数据。
  • 亲爱的,您可以在浏览器开发者工具中轻松禁用此验证功能。
  • @Masood,如果用户禁用 JavaScript,只需添加一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2012-12-30
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 2021-05-18
相关资源
最近更新 更多