【问题标题】:JQuery Valdiation - Not required but validateJQuery 验证 - 不需要但验证
【发布时间】:2012-02-15 17:20:58
【问题描述】:

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

我正在使用 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>

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

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    提示...尽量不要使用“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

    你想要的手机号码输入是一个用于掩码输入输入的插件:]

    DigitalBush - Masked Input Plugin

    Webappers - jQuery Masked Input Plugin

    Conetrees - jQuery Masked Input Plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-25
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2013-05-16
      相关资源
      最近更新 更多