Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单验证&x2B;json解析_Javascript_Html_Node.js - Fatal编程技术网

Javascript 表单验证&x2B;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

因此,我得到了一个contacts.json文件,其中我将在联系人页面中存储我将从表单提交的内容。“存储”工作得很好,只是我想给它添加一个验证,只有在验证之后才能发送和存储那些所谓的联系人。以下是我所拥有的:

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中