从输入日期删除所需的规则

时间:2018-12-13 11:10:25

标签: javascript jquery html

您好,我输入的是日期类型,我正在对此进行验证。

仅当选中复选框时才需要此输入,因此我使用jquery进行了添加所需规则的功能,现在,如果我的复选框未选中,我想删除此规则。

这是我的HTML:

<div class="col-md-3 d-inline-block">
   <label class="mdc-text-field">
      @Html.TextBoxFor(model => model.DateDebutZFU, new { @Value = Model.DateDebutZFU != new DateTime() ? Model.DateDebutZFU.Value.ToString("dd/MM/yyyy") : "", @data_val_date = "La valeur doit être une date", @class = "mdc-text-field__input dataDate" })
      <span class="mdc-floating-label">Date Debut ZFU</span>
      <div class="mdc-text-field__bottom-line"></div>
   </label>
   @Html.ValidationMessageFor(model => model.DateDebutZFU, "", new { @class = "text-danger" })
</div>

<div class="mdc-switch align-top mt-1 mr-5">
   <div class="mdc-switch__track"></div>
   <div class="mdc-switch__thumb-underlay">
      <div class="mdc-switch__thumb">
         @Html.CheckBoxFor(m => m.ZFU, new { @class = "mdc-switch__native-control", @role = "switch" })
      </div>
   </div>
</div>

这里是如果我单击提交按钮添加规则的功能:

function btnclicked() {
    if ($("#btnedit").data('clicked', true)) {

        if (($("#ZFU").is(':checked'))) {
            $("#DateDebutZFU").rules("add", {
                required: true,
                messages: {
                    required: "Date Debut ZFU est obligatoire"
                }
            });
        }
    }
}

在这里,如果未选中该复选框,我该怎么办,那么我必须删除输入中显示的必需规则:

$(document).ready(function () {
    $("#ZFU").click(function () {

        var rules = $("#DateDebutZFU").rules();

        if (rules) {

            $("#DateDebutZFU").rules("remove", "required");
        }
    });
});

现在我的问题是,尽管未选中该复选框,但始终显示所需消息,那么我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

如果您需要根据复选框评估日期输入-只需

function btnclicked() {
    if ($("#btnedit").data('clicked', true)) {
    var isChecked = $("#ZFU").is(':checked');
        var $dateDeutZFU = $("#DateDebutZFU");

        if (isChecked) {
            $dateDeutZFU.rules("add", {
                required: true,
                messages: {
                    required: "Date Debut ZFU est obligatoire"
                }
            });
        }else{
            $dateDeutZFU.rules("remove", "required");
        }
    }
}

以您的示例为例,我正在检查checkbox.is(':checked')并根据此条件添加/删除“必需”规则。希望对您有帮助。