Formvalidation验证器跨字段

时间:2017-04-05 19:27:49

标签: jquery formvalidation-plugin

我花了近3个小时试图理解为什么下面的代码块会将所有输入验证为数字:

<td class="form-group">
  <input class="form-control" type="text" name="units[]" id="units_0" value="1" size="2" data-fv-notempty="true" data-fv-notempty-message="Valor Requerido" data-fv-regexp="true" data-fv-regexp-regexp="^[0-9]+$" data-fv-regexp-message="Introducir Valor Entero" onchange="calcAmount(this)"/>
</td>

<td class="form-group">
  <input class="form-control" type="text" name="concepts[]" id="concepts_0" size="50" data-fv-notempty="true" data-fv-notempty-message="Introducir Concepto" data-fv-regexp="true" data-fv-regex-regexp="^[0-9|a-z|A-Z|-]{4}$" data-fv-regexp-message="Al menos 4 Caracteres Válidos"/>
</td>

<td class="form-group">
  <input class="form-control" type="text" name="amounts[]" id="amounts_0" size="10" data-fv-notempty="true" data-fv-notempty-message="Valor Requerido" data-fv-regexp="true" data-fv-regexp-regexp="^[0-9]+|[0-9]\.[0-9]+$" data-fv-regexp-message="Valor Numérico esperado" onchange="calcAmount(this)"/>
</td>
<td class="form-group">
  <input class="form-control" type="text" name="subtots[]" value="0.00" id="subtots_0" size=10 readonly/>
</td>
<td class="col-xs-1">
  <a class="badge bg-green addButton"><i class="fa fa-plus-circle"></i></a>
</td>

这是,名为concepts[]的输入不会验证,除非键入的文本以数字开头。但是,右data-fv-regexp-message正在解雇。

1 个答案:

答案 0 :(得分:0)

对不起的人。得到了解决。我的错。

简短说明

混合使用相同输入的HTML5和js formvalidation方法。

详细说明

当我动态地将行(带有新字段)添加到表中时,还将这些字段添加到formvalidation中

var fields = $('#tr_' + i).find(":input:not([readonly])"); $('#myform').formValidation('addField', inputs);

第一行(它的输入)已经由HTML5 data-fv-*属性进行了formvalidated。所以不知何故验证中断