我正在验证隐藏字段,但与正常字段不同,错误不会消失,因为我假设您无法绑定隐藏字段上的密钥以重新检查是否有输入的内容,这是从我的内容读是帕斯利所做的。
所以我需要手动删除它。我知道这个方法,window.ParsleyUI.removeError(parsleyInstance, name);
只是不确定我传入的parsleyInstance是什么,然后是name
,是什么名字?
以下是相关代码。
<input type="text" style="display:none" data-parsley-group="eventinfo" value="0" id="ActivityCount" data-parsley-min="1" data-parsley-error-message="Please select at least one activity">
<script>
var actCountParsley = $("#ActivityCount").parsley();
window.ParsleyUI.removeError(actCountParsley, 'min');
$('#EventForm').parsley({
successClass: "has-success",
errorClass: "has-error",
classHandler: function(el) {
return el.$element.closest(".form-group");
},
errorsWrapper: '<span class="help-inline hideHelp"></span>',
errorTemplate: "<span></span>"
});
</script>
答案 0 :(得分:1)
parsleyInstance
是ParsleyField对象的一个实例,为每个要验证的字段创建。你可以像这样得到ParsleyField的实例:
var hiddenParsleyField = $("#myHiddenField").parsley();
// displays the object
console.log(hiddenParsleyField);
// displays the input element
console.log(hiddenParsleyField.$element);
请注意,将parsley绑定到表单后,这将起作用(即:$("#myForm").parsley()
)。
至于name
,它将是约束的名称。如果您使用远程验证器等,请required
,notblank
,min
,min
,remote
等。
要删除错误消息,您可以执行以下操作:
var hiddenParsleyField = $("#myHiddenField").parsley();
window.ParsleyUI.removeError(hiddenParsleyField, 'required');
如果您无法使用此信息处理代码,请发布您的html和js代码。
在问题
中添加代码后进行编辑您的问题是您正在定义一个&#34; custom&#34;
的错误消息data-parsley-error-message="Please select at least one activity"
然后您尝试使用
删除邮件window.ParsleyUI.removeError(actCountParsley, 'min');
这不匹配。在您的输入中,您需要设置消息:data-parsley-min-message
(即使用min
代替error
)。
除此之外,作为您发布的代码,您将在消息不存在时将其删除。请参阅this jsfiddle并举例说明。