我有一个表单(在 aspx 页面中),我在同一个表单上使用服务器端验证(验证控件)和 jQuery 验证。
在文本框上,我使用服务器端验证,在提交按钮上,我使用 jQuery 验证。
我在同时使用两者时遇到问题。
形式:-
<form id="form1" runat="server">
<label>Start Date: </label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="txtstartDate" ForeColor="Red" Text="*" ValidationGroup="onSave" runat="server" ErrorMessage="Enter start date...!!"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtStartDate" runat="server" CssClass="form-control mytxtCalendar" placeholder="Start Date.."></asp:TextBox>
<label> End Date:</label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtEndDate" ForeColor="Red" Text="*" ValidationGroup="onSave" runat="server" ErrorMessage="Enter end date...!!"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtEndDate" runat="server" CssClass="form-control mytxtCalendar" placeholder="End Date.."></asp:TextBox>
<asp:Button ID="btnSaveShift" CssClass="btn btn-default" runat="server" Text="Save" ValidationGroup="onSave" OnClick="btnSaveShift_Click" OnClientClick="CheckDateTimes();" />
<asp:ValidationSummary ID="vlsAdd" ValidationGroup="onSave" ForeColor="Red" ShowMessageBox="true" ShowSummary="false" runat="server" />
</form>
jQuery代码: -
function CheckDateTimes() {
var Frm_Date = $("#<%=txtStartDate.ClientID %>").val();
var To_Date = $("#<%=txtEndDate.ClientID %>").val();
if (Frm_Date.length > 0 && To_Date.length > 0) {
if (parseDate(Frm_Date) > parseDate(To_Date)) {
alert('Start date can not be greater than to date...!!');
$("#<%=txtStartDate.ClientID %>").focus();
}
}
}
我也尝试过以下 jQuery 函数,但这些函数会停止服务器端验证。
$("#btnSaveShift").click(function(evt){
var Frm_Date = $("#<%=txtStartDate.ClientID %>").val();
var To_Date = $("#<%=txtEndDate.ClientID %>").val();
if (Frm_Date.length > 0 && To_Date.length > 0) {
if (parseDate(Frm_Date) > parseDate(To_Date)) {
alert('Start date can not be greater than to date...!!');
$("#<%=txtStartDate.ClientID %>").focus();
evt.preventDefault();
}
}
});
这也是:-
<asp:Button ID="btnSaveShift" CssClass="btn btn-default" runat="server" Text="Save" ValidationGroup="onSave" OnClick="btnSaveShift_Click" OnClientClick="return CheckDateTimes();" />
function CheckDateTimes() {
var Frm_Date = $("#<%=txtStartDate.ClientID %>").val();
var To_Date = $("#<%=txtEndDate.ClientID %>").val();
if (Frm_Date.length > 0 && To_Date.length > 0) {
if (parseDate(Frm_Date) > parseDate(To_Date)) {
alert('Start date can not be greater than to date...!!');
$("#<%=txtStartDate.ClientID %>").focus();
return false;
}
}
return true;
}