Javascript 表单验证&x2B;json解析
因此,我得到了一个contacts.json文件,其中我将在联系人页面中存储我将从表单提交的内容。“存储”工作得很好,只是我想给它添加一个验证,只有在验证之后才能发送和存储那些所谓的联系人。以下是我所拥有的:Javascript 表单验证&x2B;json解析,javascript,html,node.js,Javascript,Html,Node.js,因此,我得到了一个contacts.json文件,其中我将在联系人页面中存储我将从表单提交的内容。“存储”工作得很好,只是我想给它添加一个验证,只有在验证之后才能发送和存储那些所谓的联系人。以下是我所拥有的: app.js: app.post('/contact', function(req, res) { console.log(req.body); const contacts_path = __dirname + '/privat/contacts.json'; c
app.js:
app.post('/contact', function(req, res) {
console.log(req.body);
const contacts_path = __dirname + '/privat/contacts.json';
const contactDataJson = fs.readFileSync(contacts_path);
const json_data = JSON.parse(contactDataJson);
const contact = {
email: req.body.email,
content: req.body.content
}
json_data["contacts"].push(contact);
fs.writeFileSync(contacts_path, JSON.stringify(json_data));
res.sendFile(__dirname + '/static/contact.html');
});
html:
分享你的想法!
电子邮件
告诉我们你对我们的看法
提交
如果要验证HTML中的电子邮件地址,可以执行以下操作:
<input id="email" name="email" onkeyup="emailValid()" placeholder="Type here your email" type="text">
<script>
function emailValid() {
var emailaddr = document.getElementById("email").value
if (emailaddr.includes("@gmail.com") !== true) {
emailaddr.value = "Invalid Email Address";
return false;
else {
return true;
}
}
</script>
函数emailValid(){
var emailaddr=document.getElementById(“电子邮件”).value
if(emailaddr.includes(“@gmail.com”)!==true){
emailaddr.value=“无效的电子邮件地址”;
返回false;
否则{
返回true;
}
}
要在提交时验证电子邮件,只需在提交时运行的脚本中调用emailValid()函数。如果要在HTML中验证电子邮件地址,可以执行以下操作:
<input id="email" name="email" onkeyup="emailValid()" placeholder="Type here your email" type="text">
<script>
function emailValid() {
var emailaddr = document.getElementById("email").value
if (emailaddr.includes("@gmail.com") !== true) {
emailaddr.value = "Invalid Email Address";
return false;
else {
return true;
}
}
</script>
函数emailValid(){
var emailaddr=document.getElementById(“电子邮件”).value
if(emailaddr.includes(“@gmail.com”)!==true){
emailaddr.value=“无效的电子邮件地址”;
返回false;
否则{
返回true;
}
}
要在提交时验证电子邮件,只需在提交时运行的脚本中调用emailValid()函数。您要在客户端执行验证,因此您需要在表单发布到后端服务之前执行验证(
app.js
)。为此,您可以向提交操作添加处理程序,该操作将调用验证方法,然后提交表单。类似于:
<div id="container">
<div class="form-wrap">
<form id="myForm" method="POST" action="/contact">
<h1>Share your thoughts!</h1>
<p>Email</p>
<input id="email" name="email" placeholder="Type here your email" type="text"><br><br>
<p>Tell us what you think about us!</p>
<textarea id="content" name="content" class="contactarea" rows="10" placeholder="What would you like to talk about?"></textarea><br><br>
<button class="btn" id="submitBtn"> <i class="fas fa-sign-in-alt"></i>submit</button>
</form>
<script>
var button = document.getElementById('submitBtn');
button.addEventListener('click', function(e) {
// prevents the form from submitting
e.preventDefault();
emailValid();
// other validations you want to add
var form = document.findElementById('myForm');
form.submit();
});
</script>
分享你的想法!
电子邮件
告诉我们你对我们的看法
提交
var button=document.getElementById('submitBtn');
按钮。addEventListener('click',函数(e){
//阻止表单提交
e、 预防默认值();
emailValid();
//要添加的其他验证
var form=document.findElementById('myForm');
表单提交();
});
您要执行的验证在客户端,因此您需要在表单发布到后端服务(app.js
)之前执行验证。为此,您可以向提交操作添加处理程序,该操作将调用验证方法,然后提交表单。类似于:
<div id="container">
<div class="form-wrap">
<form id="myForm" method="POST" action="/contact">
<h1>Share your thoughts!</h1>
<p>Email</p>
<input id="email" name="email" placeholder="Type here your email" type="text"><br><br>
<p>Tell us what you think about us!</p>
<textarea id="content" name="content" class="contactarea" rows="10" placeholder="What would you like to talk about?"></textarea><br><br>
<button class="btn" id="submitBtn"> <i class="fas fa-sign-in-alt"></i>submit</button>
</form>
<script>
var button = document.getElementById('submitBtn');
button.addEventListener('click', function(e) {
// prevents the form from submitting
e.preventDefault();
emailValid();
// other validations you want to add
var form = document.findElementById('myForm');
form.submit();
});
</script>
分享你的想法!
电子邮件
告诉我们你对我们的看法
提交
var button=document.getElementById('submitBtn');
按钮。addEventListener('click',函数(e){
//阻止表单提交
e、 预防默认值();
emailValid();
//要添加的其他验证
var form=document.findElementById('myForm');
表单提交();
});
您希望解决什么问题?我创建了一个函数来“验证”我的联系人,例如电子邮件函数emailValid(){var x=document.getElementById(“email”).value if(x.includes(@gmail.com)!=true){text=“输入有效邮件”}
但我不知道如何在我的app.js中实现这一点,以验证我的表单,并且只有在成功验证之后,才能将我的数据存储在contacts.json您希望解决什么问题?我创建了一个函数来“验证”我的联系人,例如电子邮件函数emailValid(){var x=document.getElementById(“email”)。如果(x.includes(@gmail.com)!=true){text=“input a valid mail”}
但我不知道如何在我的app.js中实现这一点,以验证我的表单,并且只有在成功验证后,我的数据才能存储在contacts.json中