javascript - 从输入日期中删除所需的规则
问题描述
您好,我有一个日期类型的输入,我正在对其进行验证。
仅在选中复选框时才需要此输入,因此我使用 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"
}
});
}
}
}
在这里,如果未选中该复选框,我将尝试做什么,那么我必须删除输入中显示的 required 规则:
$(document).ready(function () {
$("#ZFU").click(function () {
var rules = $("#DateDebutZFU").rules();
if (rules) {
$("#DateDebutZFU").rules("remove", "required");
}
});
});
现在我的问题是,尽管未选中复选框,但始终显示所需的消息,那么我的代码有什么问题?
解决方案
如果您需要根据复选框评估您的日期输入 - 只需执行此操作
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')
并基于此条件添加/删除“必需”规则。打开这将帮助你。
推荐阅读
- swiftui - 如何“转发”@Published 值
- wpf - WPF 程序启动进程,但无法正常启动、加载 .NET 程序集或创建窗口
- angular - 服务初始化一次但不是第二次
- c++ - 警告 C6236: ( || ) 始终是非零常数
- cmake - 如何将来自不同子目录的相互依赖的源文件包含到cmake中
- javascript - 最简单的手卷排列和组合
- swift - CoreData 中的 Deinit,通用类型
- excel - 为 VLOOKUP 保留输入框的静态/锁定范围
- flutter - Flutter - 了解返回“Widget”类型的方法如何工作
- android - 颤振错误“方法'toLowerCase()'在null上被调用”