Formvalidation.io - 根据其他字段的值验证字段

时间:2017-08-25 17:23:50

标签: jquery forms validation formvalidation.io

我一直试图找到解决方案已有一段时间了,但我没有太多运气。我确信解决方案很简单,所以提前感谢您的帮助!

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

  • CompanyName或FirstName& LastName必需
  • 如果没有输入公司名称,则FirstName&姓氏是必需的
  • 如果输入了CompanyName,则FirstName& LastName不是必需的,但可以具有值

希望一切都有道理。我已经想出如何使用隐藏字段来同时输入FirstName和LastName(Valdiating multiple inputs as one)。我确信这需要某种条件验证(Conditional Validation)才能实现这一目标,但我不确定如何实现。

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

2 个答案:

答案 0 :(得分:0)

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

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;
                        }
                    }
                }
            }

答案 1 :(得分:0)

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

var parts = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);
var index = Array.Find(parts, p => p == "member" || p == "members" || p == "people");
int count = -1;
var found = index > 0 && int.TryParse(parts[index-1], out count);

验证器将使用data-fv-excluded =“ true”忽略您的字段