当前位置: 首页 > 知识库问答 >
问题:

JavaScript没有验证响应

干高歌
2023-03-14

我是javascript新手,我试图创建一个简单的表单验证。当我点击提交按钮时,什么也没发生。我已经看了一段时间的例子,我似乎不知道我哪里出错了。有什么建议吗:

就在这篇文章之后,我要把它分解开来,开始变得更小。但与此同时,我想另一组眼睛不会受伤,很可能我做了什么可怕的错误。

<form name="form" action="index.html" onsubmit="return construct();" method="post">
    <label>Your Name:<span class="req">*</span> </label>
    <input type="text" name="name"  /><br />
    <label>Company Name:<span class="req">*</span> </label>
    <input type="text" name="companyName" /><br />
    <label>Phone Number:</label> 
    <input type="text" name="phone" /><br />
    <label>Email Address:<span class="req">*</span></label> 
    <input type="text" name="email" /><br />
    <label>Best Time to be Contacted:</label> 
    <input type="text" name="TimeForContact" /><br />
    <label>Availability for Presenting:</label> 
    <input type="text"  name="aval" /><br />
    <label>Message:</label>
    <textarea name="message" ROWS="3" COLS="30"></textarea>
    <label>First Time Presenting for AGC?:<span class="req">*</span></label> 
    <input type="radio" name="firstTime" value="Yes" id="yes" /><span class="small">Yes</span>
    <input type="radio" name="firstTime" value="No" id="no"/><span class="small">No</span><br /><br />
    <input type="submit" name="submit" value="Sign-Up" />
</form> 
function construct() {
    var name = document.forms["form"]["name"].value;
    var companyName = document.forms["form"]["companyName"].value;
    var email = document.forms["forms"]["email"].value;
    var phone = document.forms["forms"]["phone"].value;
    var TimeForC = document.forms["forms"]["TimeForContact"].value;
    var availability = document.forms["forms"]["aval"].value;

    if (validateExistence(name) == false || validateExistence(companyName) == false)
        return false;
    if (radioCheck == false)
        return false;
    if (phoneValidate(phone) == false)
        return false;
    if (checkValidForOthers(TimeForC) == false || checkValidForOthers(availability) == false)
        return false;
    if (emailCheck(email) == false)
        return false;
}
function validateExistence(name) {
    if (name == null || name == ' ')
        alert("You must enter a " + name + " to submit! Thank you."); return false;
    if (name.length > 40)
        alert(name + " is too long for our form, please abbreviate."); return false;
}

function phoneValidate(phone) {
    if (phone.length > 12 || phone == "" || !isNaN(phone))
        alert("Please enter a valid phone number."); return false;
}

function checkValidForOthers(name) {
    if (name.length > 40)
        alert(name + " is too long for our form, please abbreviate."); return false;
}

function messageCheck(message) {
    var currentLength = name.length;
    var over = 0;
    over = currentLength - 200;

    if (name.length > 200)
        alert(name + " is too long for our form, please abbreviate. You are " + over + " characters over allowed amount"); return false;
}

function radioCheck() {
    if (document.getElementById("yes").checked == false || document.getElementById("no").checked == false)
        return false;
}

function emailCheck(email) {
    var atpos = email.indexOf("@");
    var dotpos = email.lastIndexOf(".");
    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) {
        alert("Not a valid e-mail address");
        return false;
    }
}

我意识到我只是在上面扔了很多代码,所以提前感谢您筛选它。

共有1个答案

姜淇
2023-03-14

用不同的逻辑试试。您可以使用bellow代码来检查所有四个(4)验证条件,如not null、not blank、not undefined和not zero。仅在javascript和jQuery中使用这段代码(!(!(variable))。

function myFunction() {
var data;  //The Values can be like as null,blank,undefined,zero you can test

if(!(!(data)))
 {
 alert("data "+data);
 } 
 else 
 {
    alert("data is "+data);
}

}
 类似资料:
  • 我有一个与 Rest Assured 中的响应正文验证相关的问题。让我们假设,我有一个像json这样的响应体。 我需要检查: 如果图书部分包含儿童类型 如果一本儿童类书籍的自动名称为Eric 第一个断言可以是这样的: 但是我需要检查它的作者的名字是否是威廉。有没有办法使用jsonPath检查它? 我假设,我可以做反序列化(例如,x. List

  • 我正在尝试将JWT身份验证添加到我的ASP。NET核心Web API。 这是我添加到的内容: 配置这一行: 当然,我已经在< code>appsettings.json中添加了JWT设置: 这是处理post类以返回jwt标记的代码: 并在我的方法中添加了一个属性: 问题是,当我从 Postman 调用endpoint时,除非删除 属性,否则我不会得到任何响应!

  • 我使用Cognito进行用户注册和身份验证。我希望用户能够注册和登录,而无需验证他们的电子邮件地址(对此将有一个单独的过程) 我已将Cognito用户池设置为不需要电子邮件或短信验证,但当我拨打以下电话时,由于帐户未被验证,我仍被返回失败。 我收到的错误消息是用户未被确认。 因此,即使我关闭了验证,如果我没有被验证,API似乎也会拒绝。除了自动验证,真的没有别的办法吗?我不希望这样,在用户过程中的

  • 是否可以使用Kerberos但不使用JAAS来验证用户/密码?

  • 我的问题类似于不调用Resteasy Bean验证。不过,那里的解决方案并不奏效。 我使用的是Restease3.0.9。最终与resteasy-validator提供者-11在我的pom。我正在使用一个定制的码头类启动整件事。 奇怪的是,验证在@PathParams上运行良好,但在bean上却不行。 在这种情况下,myParam上的@Size约束可以正常工作。但是MyBean中的@NotNull

  • 状态{statuscode=network_error,resolution=null} 任何形式的帮助都将受到高度赞赏。