jquery.validation - 验证必填字段时如何忽略默认值
我正在使用 jquery 验证插件来验证注册表单。
每个文本输入字段都有预先填充为输入框中的值的说明
,例如:对于文本输入框 id='Name',默认值将设置为“输入您的姓名”。我粘贴了下面的示例代码:
<input type="text" id="Name" value="Enter Your Name" onfocus="if(this.value == 'Your Name'){this.value = '';}" type="text" class="required" onblur="if(this.value == ''){this.value='Your Name';}" size="25" />
我需要知道的是如何在验证规则中指定,以便如果输入框包含默认消息或空值,插件会抛出必填字段错误。
非常感谢帮助。
I am using jquery validation plugin to validate a registration form.
Each text input field has instructions pre-filled as values in the input box
ex: for a text-input box id='Name', the default value will be set to 'Enter Your Name'. I have pasted below sample code:
<input type="text" id="Name" value="Enter Your Name" onfocus="if(this.value == 'Your Name'){this.value = '';}" type="text" class="required" onblur="if(this.value == ''){this.value='Your Name';}" size="25" />
What I need to know is how to specify in the validation rule such that the plugin throws a required field error if the input box contains either the default message or empty values.
Help much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我认为这样更好:
I think this is better:
我通过使用 validator.addMethod 创建自定义验证来解决这个问题,这非常简单。
我在下面粘贴了验证块的片段:
我对表单中具有默认值的所有元素都使用了相同的代码。这很好用。
I figured a way around the problem by creating a custom validation using validator.addMethod, which is really easy.
I have pasted a snippet of my validation block below:
I have used the same for all the elements which have default values in the form. This works great.
对我来说,上述内容仅适用于以下更改:
for me the above only worked with the following changes:
如果你想添加自定义错误消息,只需使用它即可。
If you want to add a custom error message to it jus tuse this.
只需在规则部分
onfocusout: function(element) { $(element).valid(); 之后添加此内容即可}
一切都会好起来的。
just add this after rule section
onfocusout: function(element) { $(element).valid(); }
and it will be all right.
我认为您需要添加“默认”情况才能正常工作:
I think you need to add the "default" case to get this working properly:
...
此类功能考虑了“强制”和“强制”的情况。 “可选”字段。
表达式“!req”故意替换“this.可选(元素)”,因为在某些情况下我收到错误消息“依赖项不匹配”。
...
Such function takes into consideration cases of "mandatory" & "optional" fields.
Expression "!req" purposely replaces "this.optional(element)" because I get error message "dependency mismatch" in some cases.
我对 jquery.validationEngine 做了一些补丁,以允许忽略某些复杂表单的某些输入字段。我进行了以下更改:
在您的情况下,您可以使用skipValidate 类的修改来执行此操作。
您可以在此处找到修补后的脚本以及英语过滤器(也可以使用 fr ):
jquery.validationEngine.js 已修补
jquery.validationEngine-en。 js 已修补
我应该将这些更改提交到 git hub,但现在没有时间这样做。
杰罗姆·戈德布特
Panthera 牙科
I made some patch to jquery.validationEngine to allow ignoring some input field for some complexe form. I made the following changes:
In your case you can use the modification for the skipValidate class to perform this.
You can find the patched script here along with the english filter (fr one is also available):
jquery.validationEngine.js Patched
jquery.validationEngine-en.js Patched
I should submit those change into git hub, but did not got time to do so right now.
Jerome Godbout
Panthera Dental