2014-02-13 168 views
2

我有一个小的提交表单http://wines.effectwave.com/我试图用Jquery进行验证。我想检查是否有人用默认值提交表单(例如“全名”),那么它应该提出错误。到目前为止,我已经对空值和最小字符进行了验证。但是,我如何检查这个默认值的条件?这是我的JQuery代码到目前为止:Jquery输入表单默认值验证

// JavaScript Document 

$().ready(function() { 

    // validate signup form on keyup and submit 
    $("#regform").validate({ 
     rules: { 

      fname: { 
       required: true, 
       minlength: 3 
      }, 

      phone: { 
       required: true, 
       minlength: 8 
      }, 

      comments: { 
       required: true, 
       minlength: 5 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
     }, 

     messages: { 

      fname: { 
       required: "Please enter your full name", 
       minlength: "Your full name must consist of at least 3 characters" 
      }, 

      phone: { 
       required: "Please enter your phone number", 
       minlength: "Your phone number must consist of at least 8 characters" 
      }, 

      comments: { 
       required: "Please provide some comments", 
       minlength: "Your comments must be at least 5 characters long" 
      }, 
      email: "Please enter a valid email address", 
     } 
    }); 

}); 
+0

占位符

更多信息,据我所知,'validate'不是一个jQuery功能。所以你可能使用了一个插件。哪一个? –

+1

他很明显使用jquery-validate:http://jqueryvalidation.org/ – Barmar

+2

为什么使用默认值而不是占位符? – Barmar

回答

0

您必须创建自定义验证方法并将其添加到jQuery验证器。

$(document).ready(function() { 
//add your custom method to validator 
    $.validator.addMethod("DefaultCheck", function (value, element) { 
     return value == "FullName" || "SomeOtherDefaultvalue"; // Default values to check against 
    }, 'Please add a valid fullname'); //Validation Message 

    $("#regform").validate({ 
     rules: { 

      fname: { 
       required: true, 
       minlength: 3, 
       DefaultCheck: true // your custom method 
      } 
     } 
    }); 

}); 
-1

您可以使用不等于。 J查询文档不清楚这...

jQuery.validator.addMethod("notEqual", function(value, element, param) { 
return this.optional(element) || value != $(param).val(); 
}, "The value can not be: " + value); 
    $("#regform").validate({ 
      rules: { 

       fname: { 
        required: true, 
        minlength: 3, 
        notEqual:'Full Name' 
       }, 

       phone: { 
        required: true, 
        minlength: 8 
       }, 

       comments: { 
        required: true, 
        minlength: 5 
       }, 
       email: { 
        required: true, 
        email: true 
       }, 
      } 
+0

我不知道'notEqual',你有没有任何文档链接? –

+0

我不抱歉,就像我在帖子中说的那样,J查询文档在这个部分很差。如果答案有效,请投票支持:-) – lauksas

+0

**文档没有问题,因为在[jQuery](https://api.jquery.com)中没有'notEqual' **这样的东西,或者[jQuery Validate插件](http://jqueryvalidation.org)。这个答案是纯粹的幻想,应该删除。 – Sparky

1

你可以考虑在HTML中使用占位符而不是值?

反过来,这:

<input type="text" name="fname" id="fname" value="Full Name"... 

到:

<input type="text" name="fname" id="fname" placeholder="Full Name"... 

它看起来是一样的,但实际的“价值”是空的,所以你应该能够检查,如果他们是在全部填满。在http://www.w3schools.com/tags/att_input_placeholder.asp