【问题标题】:less than validation not working after submit提交后小于验证不起作用
【发布时间】:2016-09-21 06:33:03
【问题描述】:

我有一个带有验证规则 input3 值不能超过 input2 值的表单,我在提交按钮之前已经成功,但是当我提交按钮时,当我在 input3 上输入值时出现问题,input3 中的任何输入都会显示消息错误。

input2 的值取决于左侧的选择列表。

我使用插件 fromvalidation 来做到这一点。

这是我的表单代码

$('#tambah').formValidation({
  icon: {
    valid: 'glyphicon glyphicon-ok',
    invalid: 'glyphicon glyphicon-remove',
    validating: 'glyphicon glyphicon-refresh'
  },
  fields: {
    qty: {
      row: '.col-md-3',
      validators: {
        notEmpty: {
          message: 'Jumlah Barang Tidak Boleh Kosong'
        },
        lessThan: {
          value: $("#kolombayangan").val(),
          inclusive: true,
          message: 'Stok Tidak Tersedia'
        },
        integer: {
          message: 'Harus Berupa Angka'
        }
      }
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form name="tambah" id="tambah" role="form" action="aksi_tambahdetailpermintaan.php" method="POST">
<input type="hidden" name="kolombayangan" id="kolombayangan" >
  <div class="form-row">
    <input class="form-control" name="faktur" id="faktur" type="hidden" value="<?php echo $datapermintaan['no_suratjalan']; ?>">
    <div class="form-group">
      <div class="col-md-5">
        <select name="kodebarang" id="kodebarang" class="form-control">
          <option value=""></option>
          <?php $barang=m ysql_query( "SELECT tbarang.id_barang, tbarang.detail_barang, tpersediaan.saldo FROM tbarang 
							INNER JOIN tpersediaan ON tbarang.id_barang=tpersediaan.id_barang WHERE tpersediaan.saldo !='0' ORDER BY tbarang.id_barang ASC"); while ($databarang=m ysql_fetch_assoc($barang)) { ?>
          <option value="<?php echo $databarang['id_barang']?>">
            <?php echo $databarang[ 'detail_barang']?>
          </option>
          <?php } ?>
        </select>
      </div>
      <div class="form-group">
        <div class="col-md-2">
          <input type="text" name="jumlah" id="jumlah" class="input-sm form-control" readonly>
        </div>
      </div>
      <div class="form-group inputjumlah">
        <div class="col-md-3">
          <input type="text" name="qty" id="qty" class="input-sm form-control">
        </div>
      </div>
    </div>
    <div class="text-right">
      <button type="submit" class="btn btn-sm btn-primary" id="tambah">Tambah</button>
    </div>
    <br>
  </div>
</form>

抱歉我的英语不好。

【问题讨论】:

    标签: javascript jquery forms validation


    【解决方案1】:

    您需要为lessThan.value 属性指定一个数字,但.val() 返回一个字符串。

    要解决这个问题,请将val() 的返回值转换为数字。您可以使用unary + operator

        lessThan: {
          value: +$("#kolombayangan").val(),
          inclusive: true,
          message: 'Stok Tidak Tersedia'
        },
    

    其次,您有两个具有相同 id 属性值的元素 (tambah)。这在 HTML 中是不允许的。除非得到纠正,否则有些事情可能无法按预期工作。

    【讨论】:

    • 仍然不工作,小于从第一个选项中选择的值。如果选项更改并且 input2 更改小于值仍然是旧值。
    • 在您的 HTML 中,我没有找到 ID 为 kolombayangan 的元素。可以提供一下吗?
    • 我正在编辑我的问题并添加 id 为 kolombayangan 的元素。
    • 但是它没有任何价值,那么你希望验证做什么呢?你的问题不完整。应该有一个清晰的示例(在代码中可见),并说明您从该示例中得到了什么,以及希望发生什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 2015-07-03
    相关资源
    最近更新 更多