将toDate设置为javascript中的非必填字段

时间:2017-12-26 06:43:00

标签: javascript jquery validation bootstrap-modal

我有一个用户添加VendorNameFromDate& ToDate。使用我当前的代码验证所有三个提到的字段。

但是现在,我不想验证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

3 个答案:

答案 0 :(得分:1)

您可以使用:not() Selector

  

选择与给定选择器不匹配的所有元素。

使用以下选择器

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

您也可以使用.not()

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

答案 1 :(得分:1)

您可以使用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;
    }

答案 2 :(得分:0)

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