JQuery验证 - 不是必需的,但验证

时间:2012-02-15 17:20:59

标签: jquery validation

提前感谢您提供的任何帮助。

我正在使用jquery validate插件编写一个简单的表单。

我的前两个字段是姓名和电子邮件,这些都是必需的。

我的第三个字段是电话号码,但是可选。

在每个字段中,我在文本框中都有初始值(例如,在此处输入您的姓名,在此输入您的电话,在此输入您的电子邮件)

我添加了元素,以便在不更改字段时,它将返回错误消息。

我的问题是我遇到以下问题

1)使用jquery验证电话号码 2)如果不需要验证电话号码框,但如果用户没有输入任何内容并且保留默认值,则不会抛出错误

这是我的jquery代码

<script>
$(document).ready(function(){

$.validator.addMethod(
'noPlaceholder', function (value, element) {
    return value !== element.defaultValue;
 }, 'Please enter a value.'
 );



 $("#drform").validate({

 rules: {
    name: "required",
    email: "required email",

 },

  messages: {
    name: "Enter your name",
    email: "Enter your primary email address",

},
  category: {
    notEqual: "Enter Your Name Here...",
    notEqual: "Enter Your Email Here..."
},


errorPlacement: function (error, element) {
        error.insertBefore(element.prev());
        element.parent().addClass('error');


}

});
    });
    </script>

这是我的表单代码

 <div class="is-selection3">
 <div style="width: 200px;">
 <div class="errormsg"></div>
 <input name="name" type="text" size="30" class="is-input noPlaceholder" id="name" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Name Here...':this.value;" value="Enter Your Name Here..." ><br>
 <input name="email" type="text" size="30" class="is-input"  id="email" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Email Here...':this.value;" value="Enter Your Email Here..."><BR>
 <input name="mobile" type="text" size="30" class="is-input mobile"  id="mobile" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Phone Number Here...':this.value;" value="Enter Your Phone Number Here..."> 
 <BR>
 <center><input type="submit" name="button" id="button" value="Submit" /></center>
 </div>

关于我如何验证默认值是否存在但是还不需要它的任何想法?

1 个答案:

答案 0 :(得分:0)

小费...尝试不使用“onEVENT”属性,在javascript文件中编写javascript操作。

关于您的问题,自HTML5出现以来,您可以使用placholder和requeried属性,并添加一个jquery插件来处理不支持这些属性的浏览器。

这些属性的一些插件:

GitHub - Mathias Byens - jQuery Placeholder Plugin

GitHub - Daniel Stocks - jQuery Placeholder Plugin

Webcloud - jQuery Placeholder Plugin

Ilia Draznin - jQuery Placeholder Plugin

GetHiFi - jQuery Handler to required attribute

你想要的celphone号码输入是掩码输入输入的插件:]

DigitalBush - Masked Input Plugin

Webappers - jQuery Masked Input Plugin

Conetrees - jQuery Masked Input Plugin