1

一段时间以来,我一直在努力寻找解决方案,但我运气不佳。我确信解决方案很简单,所以提前感谢您的帮助!

我正在使用 formvalidation io 插件并让它在多种表单上完美运行。我有另一个要验证客户姓名的大型表格。我在表单中有 3 个字段(CompanyName、FirstName 和 LastName),我想根据以下规则进行验证:

  • CompanyName 或 FirstName & LastName 必填
  • 如果未输入公司名称,则需要 FirstName 和 LastName
  • 如果输入 CompanyName,则 FirstName 和 LastName 不是必需的,但两者都可以有值

希望这一切都说得通。我已经弄清楚如何使用隐藏字段来要求同时输入 FirstName 和 LastName (将多个输入验证为一个)。我确定这将需要某种条件验证(条件验证)来完成此操作,但我不确定如何实现。

有没有人有完成这样的事情的经验?正如我所说,提前谢谢。

4

2 回答 2

3

是的,您可以使用回调验证器来做到这一点。公司名称示例:

companyname: {
                validators : {
                    callback: {
                        message: 'companyname is required',
                        callback: function(value, validator, $field) {
                            if(document.getElementById('firstname').value && document.getElementById('lastname').value){
                                return true;
                            }
                            return false;
                        }
                    }
                }
            }
于 2017-09-27T06:32:11.853 回答
0

在您的 js 代码中,您可以根据要验证的字段设置“data-fv-excluded”属性 true 或 false,例如:

if(document.getElementById('firstname').value && document.getElementById('lastname').value){
    document.getElementById('companyname').setAttribute("data-fv-excluded", "true");
}

验证器将忽略带有 data-fv-excluded="true" 的字段

于 2019-12-13T13:20:36.747 回答