我正在尝试在Parsley中设置一个自定义验证,以便至少填充两个字段中的一个。
我从这个关于香菜文档的例子开始:http://parsleyjs.org/doc/examples/events.html
但这似乎是一个不再有效的老例子。
下面是我的表单HTML代码:
<form id="prestations-search-form" class="navbar-form" role="search" data-parsley-validate>
<label for="search-input">Keywords</label>
<div class="form-group">
<input type="text" class="form-control" id="search-input" name="search-input" required data-parsley-group="searchText" />
</div>
<div class="form-group">
<label for="domaines-list">Select a domain</label>
<select id="domaines-list" class="form-control" name="domaine" required data-parsley-notblank data-parsley-group="searchDomaine">
<option value="">All domains</option>
<option value="1">Domain 1</option>
<option value="2">Domain 2</option>
...
</select>
</div>
<button id="submit-search" class="btn btn-block btn-primary" type="submit">Search</button>
和我的JS香菜定制验证:
this.$(this.search_form_selector).parsley().on('form:validate', function (formInstance) {
if (formInstance.fields[0].isValid() || formInstance.fields[1].isValid()) {
console.log("My custom validator => OK");
formInstance.validationResult = true;
return true;
}
console.log("My custom validator => KO");
formInstance.validationResult = false;
return false;
});我捕捉到了"form:validate“事件,并且我的回调函数被执行了。但是,即使设置了formInstance.validationResult = true;并返回true,我也不能验证和提交表单。
缺乏相关的文档。我不知道下一步该怎么办。
如果满足我的条件,我如何验证表单并执行表单提交?如果不是,我如何停止提交?
谢谢你的帮助。
发布于 2015-10-06 05:24:45
对于你的问题我很抱歉。我们的许多示例都需要重新编写。
如果验证注定要失败,则应设置formInstance.validationResult = false。
https://stackoverflow.com/questions/32953628
复制相似问题