jQuery 工具验证器:不是必需的,但如果不为空则进行测试
我正在使用 jQuery 工具中的验证器 来验证我的表单(为什么使用 jquery 工具?因为它们是轻量级的)并使用语义 HTML5 标签、输入类型和参数进行验证)但我有一个问题: 我想让 jQuery Tools Validator 仅在输入字段不为空时才测试/验证它 — 但该字段不是必需的。
在必须测试/验证的字段上,我可以使用 required="required"
并且它会验证......现在我有一个文本输入字段,用户可以在其中输入 URL,该字段不是必需的,但如果用户将一些数据添加到该字段中,则该字段应使用 pattern="https?://.+"
进行验证,以确保用户输入有效的网址。 . 如果我添加尽管有模式参数且没有必需参数,jQuery Tools Validator 仍然会进行测试/验证,并且在输入有效 URL 之前我无法提交表单 — 即使我根本不想输入 URL!
I'm using the Validator from jQuery Tools to validate my form (why jquery tools? because they are lightweight and use semantic HTML5 Tags, input-types and params for validation) but I have one problem:
I want to let jQuery Tools Validator test/validate a input-field only if it is not empty — but the field is not required.
On fields that have to be tested/validated, I can use required="required"
and it validates … now I have a text-input-field where the user can input a URL, this field is not required BUT if the user adds some data into that field, the field should validate with pattern="https?://.+"
to get sure the user is entering a valid url... if I add the pattern-parameter and no required-parameter, jQuery Tools Validator does test/validate nonetheless and I'm not able to submit the form until I entered a valid URL — even if I do not want to enter a URL at all!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试修改正则表达式以允许空字符串,例如
You could try modifying your regex to allow the empty string, such as
你有什么理由依赖 jquery 工具验证器吗?我取得了巨大的成功: http://bassistance.de/jquery-plugins/ jquery-plugin-validation/
例如,我添加一个自定义 jQuery 验证器字段:
这只是我的代码中的一个示例,只需将正则表达式替换为方法即可。
Is there any reason you're tied to jquery tools validator? I've had great success with : http://bassistance.de/jquery-plugins/jquery-plugin-validation/
So for example I'd add a custom jQuery validator field:
That was just an example from my code, just substitute the regex into the method.
如果您指定表单字段,那么
jQuery Tools Validator 将需要一个有效的 url - 您不需要滚动自己的 url 正则表达式。
如果您没有将该字段标记为必填,那么验证器应该仅在该字段非空时检查该字段;如果我理解正确的话,这就是你(OP)想要的行为。
If you specify your form field as
then jQuery Tools Validator will require a valid url--you shouldn't need to roll your own url regex.
And if you don't mark that field required, then the validator should only check the field when it's non-empty; which, if I understood correctly, is the behavior you (OP) want.