JavaScript验证和cookie

JavaScript验证和cookie,javascript,jquery,validation,cookies,Javascript,Jquery,Validation,Cookies,我目前在一个JavaScript类中,我的最后一个任务是编写一个代码来验证预订请求表单并创建cookie。我在作业中得到了一半的分数,因为我的代码没有100%正确工作,我知道情况就是这样。代码中发生的情况是,当我刷新页面而不将信息放入文本框时,它会对我大叫“此信息是必需的”,但当我填写一些必需的信息并将其余部分留空时,它仍然会转到“感谢您的请求”页面 以下是我的javascript代码: $(document).ready(function() { var emailPattern = /\b[

我目前在一个JavaScript类中,我的最后一个任务是编写一个代码来验证预订请求表单并创建cookie。我在作业中得到了一半的分数,因为我的代码没有100%正确工作,我知道情况就是这样。代码中发生的情况是,当我刷新页面而不将信息放入文本框时,它会对我大叫“此信息是必需的”,但当我填写一些必需的信息并将其余部分留空时,它仍然会转到“感谢您的请求”页面

以下是我的javascript代码:

$(document).ready(function() {
var emailPattern = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b/;   
$(":text, #arrival_date, #nights, #name, #email, #phone").after("<span class='error'>*</span>");
$("#reservation_form").submit(
    function(event) {
        var isValid = true;
            $("#arrival_date").focus();
        // validate the requested arrival date
            if ($("#arrival_date").val() == "") {
                $("#arrival_date").next().text("This field is required.");
                isValid = false;
            } 
            else {
                //                       store arrival date in cookie   wds 7/13/2013
                setCookie("guestdate",$("#arrival_date").val(),365);
                $("#arrival_date").next().text(""); 
            }
            // validate the requested arrival nights
            if ($("#nights").val() == "") {
                $("#nights").next().text("This field is required.");
                isValid = false;
            } 
            else {
                setCookie("guestnights",$("#nights").val(),365);
                $("#nights").next().text(""); 
            }
            // validate the requested name
            if ($("#name").val() == "") {
                $("#name").next().text("This field is required.");
                isValid = false;
            }
            else {
                setCookie("guestname",$("#name").val(),365);
                $("#name").next().text("");
            }
            // validate the requested email
            if ($("#email").val() == "") {
                $("#email").next().text("This field is required.");
                isValid = false;
            }
            else {
                setCookie("guestemail",$("#email").val(),365);
                $("#email").next().text("");
            }
            // validate the requested phone number
            if ($("#phone").val() == "") {
                $("#phone").next().text("This field is required.");
                isValid = false;
            }
            else {
                setCookie("guestphone",$("#phone").val(),365);
                $("#phone").next().text("");
            }
            if (isValid == false) {
            event.preventDefault(); 
            }
    } // end function
); // end submit
}); // end ready 
$(文档).ready(函数(){
var emailPattern=/\b[A-Za-z0-9.[uz%+-]+@[A-Za-z0-9.-]+\[A-Za-z]{2,4}\b/;
$(“:文本,#到达日期,#夜晚,#姓名,#电子邮件,#电话”)。在(“*”)之后;
$(“#预订表”)。提交(
功能(事件){
var isValid=true;
$(“#到达日期”).focus();
//验证请求的到达日期
如果($(“#到达日期”).val()=“”){
$(“#到达日期”).next().text(“此字段为必填项”);
isValid=false;
} 
否则{
//cookie wds中的门店到货日期2013年7月13日
setCookie(“guestdate”,$(“到达日期”).val(),365);
$(“#到达日期”).next().text(“”);
}
//验证请求的到达时间
如果($(“#夜”).val()=“”){
$(“#夜”).next().text(“此字段为必填项”);
isValid=false;
} 
否则{
setCookie(“guestnights”,$(“#nights”).val(),365);
$(“#夜”).next().text(“”);
}
//验证请求的名称
如果($(“#名称”).val()=“”){
$(“#名称”).next().text(“此字段为必填项”);
isValid=false;
}
否则{
setCookie(“guestname”,$(“#name”).val(),365);
$(“#名称”).next().text(“”);
}
//验证请求的电子邮件
如果($(“#电子邮件”).val()=“”){
$(“#email”).next().text(“此字段为必填项”);
isValid=false;
}
否则{
setCookie(“guestemail”,$(“#email”).val(),365);
$(“#email”).next().text(“”);
}
//验证请求的电话号码
如果($(“#电话”).val()=“”){
$(“#phone”).next().text(“此字段为必填项”);
isValid=false;
}
否则{
setCookie(“guestphone”,$(“#phone”).val(),365);
$(“#phone”).next().text(“”);
}
if(isValid==false){
event.preventDefault();
}
}//结束函数
);//结束提交
}); // 准备就绪
我的教授从来没有告诉过我做错了什么,我下周还有一个类似的作业。她在我的反馈中所说的只是“我看到了验证代码,但当我运行程序时,这些代码都不起作用”。她也没有在作业后发布答案,这让人沮丧。任何帮助都会很棒

检查此更新的小提琴。 使用jquery验证插件时,可以将规则传递给表单选择器验证方法,如下所示:

$( "#reservation_form" ).validate({
  rules: {
    field: {
      required: true
    }
  }
});
或者,您可以简单地将required添加到特定的标记中,并像本例中那样向表单选择器运行validate方法 你可以通过这些演示了解更多关于这个插件的信息


继续学习

如果有帮助的话,我也可以发布显示细节的作业。你能试着在JSFIDLE中设置它吗?希望我做得对!:您正在使用jqueryvalidate插件,但我看不到它在您的fiddle中得到正确实现。查看jquery验证插件的文档,我想你是在设置cookie if valid input。因此,当我输入验证并单击submit按钮时,即使没有填写所有信息,页面也不会转到“感谢您的预订”表单或其他什么?谢谢!在阅读了你提供的网站并回顾了我的教科书之后,我发现我错在哪里了。