我有一个用户添加VendorNameFromDateToDate的方案。使用我当前的代码,它可以验证所有提到的三个字段。

但是现在,我不想验证ToDate字段。

下面是我的HTML相同

<tr id="vendorlisttr1">
  <td>
    <div class="row noPadding vendorForm">
      <div class="vendorDaterow">
        <div class="vendorName" id="dvVendorNameData1">
          <label>OnM SP vendor name</label><span><input type="text" value="" name="nmVendorData" id="txtVendorName1" /></span>
        </div>
        <div class="vendorFromDate">
          <label>From Date</label><span class="datepicker"><input type="text" value="" name="spFromDate" id="spFromDate1" readonly="readonly" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
        </div>
        <div class="vendorToDate">
          <label>To Date</label><span class="datepicker"><input type="text" value="" name="spToDate" id="spToDate1" readonly="readonly" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
        </div>
      </div>
      <div class="add">
        <i class="fa fa-plus" aria-hidden="true"></i>
      </div>
    </div>
  </td>
</tr>


这就是我验证它们的方式。

var vendorError = false;
$(".vendorForm input").each(function () {
    if ($(this).val() == '') {
        jAlert(ValidationMessageConfig.vendorErrorMessage, ValidationMessageConfig.Title);
        vendorError = true;
        return false;
    }
})
if (vendorError) {
    return false;
}


那么我应该如何停止验证ToDate呢?

重要提示:我无法使用硬编码ID

最佳答案

您可以使用jquery not()

$(".vendorForm input").not("#spToDate1")


但是由于不能使用id,因此可以考虑选择器:input[name!='spToDate']

  var vendorError = false;
    $(".vendorForm input[name!='spToDate']").each(function () {
        if ($(this).val() == '') {
            jAlert(ValidationMessageConfig.vendorErrorMessage, ValidationMessageConfig.Title);
            vendorError = true;
            return false;
        }
    })
    if (vendorError) {
        return false;
    }

关于javascript - 在javascript中将toDate设置为非必填字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47974848/

10-10 06:04