使用Java验证日期为必填字段

时间:2018-07-16 19:09:04

标签: javascript date

我需要使用JS验证表单,以便在不填写某些必填字段的情况下无法提交表单。

例如根据我的需要设置姓氏

<script>

    function validateform(){
        var x=document.forms["vacancy"]["surname"].value;
        if(x==""){alert("Surname must be filled out");
                 return false;}
</script> 

表格:

<form name="vacancy" action="" onSubmit="return validateform()">
Surname <input name="surname" type="text">
</form>

这段代码非常好,但是当我在生日字段中使用相同的代码时,它将继续进行而不会检查是否提供了该字段。

<script> 
function validateform(){
var a=document.forms["vacancy"]["dob"].value;
        if(a==""){alert("Birthdate must be filled out");
                 return false;}
</script>

<form name="vacancy" action="" onSubmit="return validateform()">
 Date of Birth <input name="dob" type="date">
</form>

还有其他检查类型设置为日期的方法吗?

2 个答案:

答案 0 :(得分:0)

您似乎在第二个脚本finction validateform()中有一个错字,其中“ finction”应为“ function”。

作为替代方案,您可以为此使用required属性。

<form name="vacancy" action="">
  Surname <input name="surname" type="text" required></br>
  DOB <input name="dob" type="date" required></br>
  <button type="submit">Submit</button>
</form>

编辑(针对已编辑的问题):您在以下示例中使用哪种浏览器作为更正后的代码示例。如果您在同一页面中同时使用两种形式,则函数声明validateform会导致名称冲突。

<script>
  function validateform() {
    var a = document.forms["vacancy"]["dob"].value;
    if (a == "") {
      alert("Birthdate must be filled out");
      return false;
    }
  }
</script>

<form name="vacancy" action="" onSubmit="return validateform()">
  Date of Birth <input name="dob" type="date">
</form>

答案 1 :(得分:0)

您可以仅检查默认值'mm / dd / yyyy'是否仍存在于'a'中而不是空字符串,然后抛出该消息。