我喜欢jQuery验证的简单性和可扩展性。在我最近的一些使用案例中,它似乎达到了极限。我缺少一些功能。我的问题:是否有一个支持这些功能的开源库,或者开发中有什么值得注意的东西?或者,您是否有关于如何扩展/使用验证框架来涵盖这些功能的任何明智提示?
错过的功能:
对于某些字段,我需要定义“警告”规则而不是错误。如果它们评估为false,则应显示一条消息,但它应包含允许用户关闭规则的链接“ignore”(类似于MS Word的拼写检查程序,用户可以选择忽略拼写错误)。如果验证阻止了表单的发送,理想情况下,当用户单击“忽略”时,表单会立即发送。
规则应该取决于我想用表单执行的操作。虽然对于一个动作,但不需要字段,但可能需要它们执行另一个动作。
作为两种情况的示例,请使用“发送电子邮件”表单:
答案 0 :(得分:1)
对于第二名来说,这非常简单。您可以通过每个按钮调用一个完成时提交的功能,而不仅仅是提交。在该函数中,您设置一个jquery变量来告诉您它来自哪个按钮,并在jQuery.validator.addClassRules()
调用的一部分中使用该变量的内容来确定是否应用验证要求。第一个是棘手的,但您可以设置验证文本 - 这意味着您应该能够在其中包含一个链接。让链接触发一个函数,该函数再次更改apply / not-apply逻辑使用的变量(并可能重新提交 - 或者,如果您有一个包含多个这样的页面,则重新验证(从而删除错误消息)并允许他们稍后用不同的按钮提交)。
关于addClassRules可能的样子的快速示例。
jQuery.validator.addClassRules("toField",
{
required: {
depends: function(element)
{
return $submitNotSave;
}
}
});