欧芹:自定义验证器范围
Parsley: Custom Validator Scope
有没有一种方法可以将自定义 Parsley 验证器仅附加到一个表单实例?我发现的唯一东西是 ParsleyValidator.addValidator()
,但这使它们在全球范围内可用(这反过来又使得在涉及多个表单时通过 ParsleyValidator.removeValidator()
删除它们更加棘手)。一旦不再使用它们,我需要删除它们以避免内存泄漏(应用程序是 运行 24/7,因此无法重新加载页面)。显然没有 ParsleyForm.addValidator()
这样的东西。我有哪些选择?
目前没有这样的方式,未来也没有这样的计划,除非有人说服我们需要。
因为不需要。您必须区分 validator,它是决定一个值是否可接受的代码,即使用的算法,与 requirements 本身(边界或其他参数)应通过输入的参数或选项指定。
验证器是全局注册的,但要求是本地输入。
Parsley
有数据属性&javascript的对应关系,所以你可能只需要使用javascriptAPI。例如,您可以通过
简单地添加需求
$('.my-input').parsley().options.excludevalues = ['not this', 'nor this']
我基本上完成了重写验证器的代码(参见 promise
分支),它引入了一个新的 API。别的不说,很容易定义一个自定义的带有更复杂参数的验证器,验证时字段实例也作为参数传递。
如果您确实遇到需要 "local" 自定义验证器的情况,请提供有关您的案例的更多详细信息...
有没有一种方法可以将自定义 Parsley 验证器仅附加到一个表单实例?我发现的唯一东西是 ParsleyValidator.addValidator()
,但这使它们在全球范围内可用(这反过来又使得在涉及多个表单时通过 ParsleyValidator.removeValidator()
删除它们更加棘手)。一旦不再使用它们,我需要删除它们以避免内存泄漏(应用程序是 运行 24/7,因此无法重新加载页面)。显然没有 ParsleyForm.addValidator()
这样的东西。我有哪些选择?
目前没有这样的方式,未来也没有这样的计划,除非有人说服我们需要。
因为不需要。您必须区分 validator,它是决定一个值是否可接受的代码,即使用的算法,与 requirements 本身(边界或其他参数)应通过输入的参数或选项指定。
验证器是全局注册的,但要求是本地输入。
Parsley
有数据属性&javascript的对应关系,所以你可能只需要使用javascriptAPI。例如,您可以通过
$('.my-input').parsley().options.excludevalues = ['not this', 'nor this']
我基本上完成了重写验证器的代码(参见 promise
分支),它引入了一个新的 API。别的不说,很容易定义一个自定义的带有更复杂参数的验证器,验证时字段实例也作为参数传递。
如果您确实遇到需要 "local" 自定义验证器的情况,请提供有关您的案例的更多详细信息...