Formvalidation.io:某个字段有效时的事件
Posted
技术标签:
【中文标题】Formvalidation.io:某个字段有效时的事件【英文标题】:Formvalidation.io: event when certain field is valid 【发布时间】:2020-07-25 20:56:25 【问题描述】:我有一个关于Formvalidation.io 的初学者问题。也许它甚至不是特定于该库,而是与一般的 javascript 更相关。
我想在某个字段(假设它的名称是postcode
)经过验证并且有效后禁用验证器。但是,如果我的表单的 any 字段有效(不仅是特定字段),我的所有方法都会导致验证器未被禁用或被禁用。
我使用core.field.valid 事件和库的文档状态:
事件参数表示字段名称。
我不确定这是怎么发生的。
我试过了:
document.addEventListener('DOMContentLoaded', function(e)
const fv = FormValidation.formValidation(
document.getElementById('adminForm'),
fields:
postcode:
validators:
notEmpty:
message: 'Please enter a postcode.'
,
plugins:
submitButton: new FormValidation.plugins.SubmitButton(),
defaultSubmit: new FormValidation.plugins.DefaultSubmit(),
trigger: new FormValidation.plugins.Trigger(
event:
postcode: 'change',
)
);
fv.on('core.field.valid', function(e)
if (e.field === 'postcode')
fv.disableValidator('postcode');
);
);
但即使该字段已验证且有效,if 条件也不为真。 (试图从here给出的例子中改编它)
我还尝试了我在 on() method 上的文档中找到的内容(因为它关于 function(field)
的声明:“字段是无效字段的名称”):
const validFieldHandler = function(postcode)
fv.disableValidator('postcode');
;
fv.on('core.field.valid', validFieldHandler);
结果是一样的(验证器没有被禁用)。
但是,如果表单的 any 字段有效,则以下内容(可能预期)会禁用验证器。
fv.on('core.field.valid', function(e)
fv.disableValidator('postcode');
);
感谢您提供的任何建议!这是我的第一个问题,所以如果您需要更多信息,请告诉我!
最好的问候, 塞巴斯蒂安
【问题讨论】:
【参考方案1】:自己找到了解决方案:
fv.on('core.field.valid', function(field)
if (field === 'postcode')
fv.disableValidator('postcode');
);
【讨论】:
以上是关于Formvalidation.io:某个字段有效时的事件的主要内容,如果未能解决你的问题,请参考以下文章
当字段有效时,Bootstrapvalidation 不会隐藏错误消息
即使表单有效,formvalidation.io 也会阻止表单提交
FormValidation / formvalidation.io Bootstrap 插件在样式更改时放错了验证图标