0
Я пытался на проверки в поле даты, но он продолжает делать запись назад и не работает .. Вот в HTML:как предотвратить CustomValidator делать PostBack
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="error"
Display="Dynamic" SetFocusOnError="True"
ClientValidationFunction="CheckDate"
ControlToValidate="txtDate">
</asp:CustomValidator>
и функция в js:
function CheckDate(source, args)
{
var inputDate = document.getElementById("<%=txtDate.ClientID%>");
args.IsValid = false;
var parts = inputDate.value.split("/");
var day = parseInt(parts[0], 10);
var month = parseInt(parts[1], 10);
var year = parseInt(parts[2], 10);
var d = new Date();
var currentYear = d.getFullYear();
if (year < currentYear - 50 || year > currentYear || month == 0 || month > 12)
args.IsValid = false;
var monthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (year % 4 == 0)
monthLength[1] = 29;
if (day > 0 && day <= monthDays[month - 1])
{
args.IsValid = true;
}
return args.IsValid;
}
но без успеха .. как предотвратить это?
Я не думаю, что вам действительно нужен валидатор, который будет отправлен на сервер. Просто используйте форму submit Validation funcitdon – Bindrid