日期选择器字段中的表单验证无法正常工作
Form Validation in Date-Picker Field Not Working Properly
我有以下 2 个用于日期选择器的字段。
在视图中:
<div class="form-line">
<input type="text" id="iCaseFileDate" name="CaseFileDate" placeholder="Case File Date*" class="datepicker form-control" required/>
</div>
<div class="form-line">
<input type="text" id="iHearingDate" name="HearingDate" placeholder="Hearing Date*" class="datepicker form-control" required/>
</div>
当我单击“提交”按钮时,它使用 'required' 属性很好地呈现 'inputForm' 的所有字段,就像每当我将这些字段留空然后单击提交时 'required' 属性效果很好.但在那之后,如果我 select 来自 Date-Picker 字段的日期,它不会删除 'This field is required' 的 Case File Date & Hearing Date 字段。
Javascript代码:
$(document).ready(function () {
$('#submit_button').on('click', function () {
$('#inputForm').valid()
});
});
$('#iCaseFileDate').on('change', function () {
if ($('#iCaseFileDate').val()) {
$('#iCaseFileDate').removeAttr("required");
}
});
$('#iHearingDate').on('change', function () {
if ($('#iHearingDate').val()) {
$('#iHearingDate').removeAttr("required");
}
});
提交按钮代码:
<div class="modal-footer">
<button type="submit" id="submit_button" class="btn btn-success waves-light" onclick="saveData()">SAVE</button>
<button type="button" class="btn btn-warning waves-red" data-dismiss="modal">Close</button>
</div>
function saveData() {
$("#inputForm").submit();
}
$("#inputForm").on("submit", function (event) {
event.preventDefault();
tinyMCE.triggerSave();
var $this = $(this);
var frmValues = $this.serialize();
var isValid = $("#inputForm").valid();
if (isValid == false) {
}
else {
$.ajax({
type: 'POST',
url: '/ClientInfo/Save',
data: frmValues
})
.done(function (result) {
if (result) {
alert(result.info);
clearInputFields();
$('#inputModal').modal('hide');
ReloadTable();
}
})
.fail(function (xhr) {
alert("error");
});
}
});
[添加图片以更好地说明]
[在填写任何输入字段并单击提交按钮之前]
[]1
[填写输入字段值后,未删除案件归档日期和听证会日期的必填消息]
[]2
请帮我解决这个问题。我只想在这些字段为空时显示 'This field is required' 消息,并在这些字段具有从日期选择器 select 编辑的值时隐藏此消息。
从你的问题来看不是很清楚,你是否在 MVC Razor 视图中使用模型绑定?
我想你可以使用下面的 jquery 代码
$('#iCaseFileDate').on('change', function () {
if ($('#iCaseFileDate').val().length>0) {
$('#iCaseFileDate').removeAttr("required");
//comment
//Find the div containing validation message * the field is required* and remove it
//like below
$(this).next('.your_validation_message_div').remove();
}
});
$('#iHearingDate').on('change', function () {
if ($('#iHearingDate').val().length>0) {
$('#iHearingDate').removeAttr("required");
//comment
//Find the div containing validation message * the field is required* and remove it
//like below
$(this).next('.your_validation_message_div').remove();
}
});
我有以下 2 个用于日期选择器的字段。
在视图中:
<div class="form-line">
<input type="text" id="iCaseFileDate" name="CaseFileDate" placeholder="Case File Date*" class="datepicker form-control" required/>
</div>
<div class="form-line">
<input type="text" id="iHearingDate" name="HearingDate" placeholder="Hearing Date*" class="datepicker form-control" required/>
</div>
当我单击“提交”按钮时,它使用 'required' 属性很好地呈现 'inputForm' 的所有字段,就像每当我将这些字段留空然后单击提交时 'required' 属性效果很好.但在那之后,如果我 select 来自 Date-Picker 字段的日期,它不会删除 'This field is required' 的 Case File Date & Hearing Date 字段。
Javascript代码:
$(document).ready(function () {
$('#submit_button').on('click', function () {
$('#inputForm').valid()
});
});
$('#iCaseFileDate').on('change', function () {
if ($('#iCaseFileDate').val()) {
$('#iCaseFileDate').removeAttr("required");
}
});
$('#iHearingDate').on('change', function () {
if ($('#iHearingDate').val()) {
$('#iHearingDate').removeAttr("required");
}
});
提交按钮代码:
<div class="modal-footer">
<button type="submit" id="submit_button" class="btn btn-success waves-light" onclick="saveData()">SAVE</button>
<button type="button" class="btn btn-warning waves-red" data-dismiss="modal">Close</button>
</div>
function saveData() {
$("#inputForm").submit();
}
$("#inputForm").on("submit", function (event) {
event.preventDefault();
tinyMCE.triggerSave();
var $this = $(this);
var frmValues = $this.serialize();
var isValid = $("#inputForm").valid();
if (isValid == false) {
}
else {
$.ajax({
type: 'POST',
url: '/ClientInfo/Save',
data: frmValues
})
.done(function (result) {
if (result) {
alert(result.info);
clearInputFields();
$('#inputModal').modal('hide');
ReloadTable();
}
})
.fail(function (xhr) {
alert("error");
});
}
});
[添加图片以更好地说明]
[在填写任何输入字段并单击提交按钮之前]
[
[填写输入字段值后,未删除案件归档日期和听证会日期的必填消息]
[
请帮我解决这个问题。我只想在这些字段为空时显示 'This field is required' 消息,并在这些字段具有从日期选择器 select 编辑的值时隐藏此消息。
从你的问题来看不是很清楚,你是否在 MVC Razor 视图中使用模型绑定?
我想你可以使用下面的 jquery 代码
$('#iCaseFileDate').on('change', function () {
if ($('#iCaseFileDate').val().length>0) {
$('#iCaseFileDate').removeAttr("required");
//comment
//Find the div containing validation message * the field is required* and remove it
//like below
$(this).next('.your_validation_message_div').remove();
}
});
$('#iHearingDate').on('change', function () {
if ($('#iHearingDate').val().length>0) {
$('#iHearingDate').removeAttr("required");
//comment
//Find the div containing validation message * the field is required* and remove it
//like below
$(this).next('.your_validation_message_div').remove();
}
});