jQuery验证扩展-警告,忽略选项,操作特定



我喜欢jQuery验证的简单性和可扩展性。在我最后的一些用例中,它似乎达到了极限。我缺少一些功能。我的问题是:有没有一个开源库支持这些功能,或者在开发中有什么了不起的地方?或者,对于如何扩展/使用验证框架来覆盖这些功能,您有什么明智的提示吗?

错过的功能:

  • 对于某些字段,我需要定义"警告"规则,而不是错误。如果评估结果为false,则应显示一条消息,但其中应包含一个"忽略"链接,允许用户关闭规则(类似于MS Word的拼写检查器,用户可以选择忽略拼写错误)。如果验证阻止了表单的发送,那么理想情况下,当用户单击"忽略"时,会立即发送表单。

  • 规则应该取决于我想用表单执行的操作。虽然对于一个操作,字段不是必需的,但执行另一个操作可能需要它们。

作为这两种情况的示例,请使用"发送电子邮件"形式:

  • "主题"字段不一定是必需的,但如果它为空,用户可能会错过它。理想情况下,验证框架会阻止发送表单,并显示一条消息,如"您错过了主题。忽略"。单击"忽略"将禁用消息并发送表单
  • 发送电子邮件时肯定需要"收件人"字段。但是,如果表单提供了"保存草稿"按钮,则不应强制用户填写此字段来保存草稿

对于第二个数字,它非常容易。您不只是提交,而是让每个按钮调用一个在完成时提交的函数。在该函数中,您设置一个jquery变量来告诉您它来自哪个按钮,并在jQuery.validator.addClassRules()调用的决定是否应用验证要求的部分中使用该变量的内容。第一个比较棘手,但你可以设置验证文本,这意味着你应该能够在其中包含一个链接,更改应用/不应用逻辑使用的变量(可能重新提交,或者,如果您的页面上有多个变量,则重新验证(从而删除错误消息),并允许它们稍后使用不同的按钮提交)。

addClassRules的快速示例。

jQuery.validator.addClassRules("toField",
{
    required: {
        depends: function(element)
        {
            return $submitNotSave;
        }
    }
});

最新更新