Jquery Validate:如何忽略占位符文本(默认/空白时产生错误)
我想让 jquery 验证忽略默认文本。
我检查默认文本的方法是检查 element.value == 元素 alt 文本
这是我的代码,但无论它是空白、默认文本还是任何其他文本,它都会返回无效:
$.validator.addMethod("notDefaultText", function(value)
{
if($(this).val()==$(this).attr('alt'))
return false;
});
rules: {
Name: "required notDefaultText",
Email: "required notDefaultText email"
},
I'd like to make jquery validate ignore the default text.
The way I have it check for default text is to check if the element.value == the elements alt text
Here's my code, but it returns invalid no matter if its blank, default text, or any other text:
$.validator.addMethod("notDefaultText", function(value)
{
if($(this).val()==$(this).attr('alt'))
return false;
});
rules: {
Name: "required notDefaultText",
Email: "required notDefaultText email"
},
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我遇到了同样的问题并以这种方式解决了...
我检查默认文本的方法是检查值是否==元素占位符属性。
I had the same problem and solved it this way...
The way I have it check for default text is to check if the value == the elements placeholder attr.
HTML5 支持占位符作为标记的一部分。您可以使用 jQuery 来处理其他浏览器。
http:// /www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
HTML5 has support for placeholders as part of markup. You can use jQuery to handle other browsers.
A well presented way to do this is presented at http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
您可能在不采用该属性的元素上使用 alt,alt 用于图像等而不是输入字段!因此浏览器不会接受它。
尝试使用诸如“data-default”之类的属性或任何带有“data-*”的属性来存储这些值。
有时我发现一些浏览器可以读取/操作某些属性,从而产生意想不到的行为。
You are probably using the alt on a element that does not take that attribute alt is for images and etc not input fields! Therefore the browser will not accept it.
Try an attribute like: "data-default" or anything with 'data-*' to store these values.
sometimes I find some browsers to read/manipulate certain attributes acting with unexpected behavior.