Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法动态更改minLength_Javascript_Parsley.js - Fatal编程技术网

Javascript 无法动态更改minLength

Javascript 无法动态更改minLength,javascript,parsley.js,Javascript,Parsley.js,我有一个下拉列表,其中有国家,在第二行的相同形式中,我有ZipCode texbox。我想动态地限制zipcode字段的最小长度。例如,如果选择美国,zipcode不应小于5,对于其他国家,则其他一些最小长度限制。我的表单使用欧芹验证器 我在下面写了一个关于我的国家的变化事件下拉列表 function setZipLimit() { alert("in Zip limit" + document.getElementById("billingCountry").value); i

我有一个下拉列表,其中有国家,在第二行的相同形式中,我有ZipCode texbox。我想动态地限制zipcode字段的最小长度。例如,如果选择美国,zipcode不应小于5,对于其他国家,则其他一些最小长度限制。我的表单使用欧芹验证器

我在下面写了一个关于我的国家的变化事件下拉列表

function setZipLimit() {
    alert("in Zip limit" + document.getElementById("billingCountry").value);
    if (document.getElementById("billingCountry").value == "US") {
        alert("I am in US");
        $('#billingForm').parsley('destroy');
        $('#billingPostalCode').data('minlength', 3);
        $('#billingForm').parsley();
    } else {
        $('#billingForm').parsley('destroy');
        $('#billingPostalCode').data('minlength', 10);
        $('#billingForm').parsley();
    }
}

但这似乎没有帮助。你能帮我吗?

你不能只编辑属性,因为parsley.js最初读取表单并获取其值。事后更改它们不会有任何效果

但是,您可以使用用于Javascript函数的Parsley.js API来编辑约束。你已经用它们来破坏和建造欧芹了。欧芹具有以下功能: $(#field').parsley('updateConstraint',{minlength:6})

文档中还有一些带有addConstraint和removeConstraint的:

如果您的表单变得更复杂,并且有几个这样的动态案例,我建议您只销毁和重建表单的特定部分。原因是(根据我最近的一个问题):
如果销毁欧芹,更改一些字段,构建欧芹,然后再次销毁它,因为发生了另一个If语句,您以前的更改将被丢弃,因为build只读取Destroy和build之间的js,并读取表单

我不知道欧芹,但看看你如何在他们的文档中指定内容,我觉得你会使用
$('billingPostalCode').attr('parsley-minlength',3),而不是
$('billingPostalCode')。数据('minlength',3)