Custom Validator with ajax call
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1"
ClientValidationFunction="customValid"
runat="server" ErrorMessage="CustomValidator"></asp:CustomValidator>
המתודה להפעלה בזמן ולידצייה (הייתי שמח להשתמש עם
ScriptManager אבל לצערי הם כתבו את הקוד שלהם בצורה מטופשת (קצת) שעושה את הקריאות
תמיד בצורה אסינכרונית וחבל שהם לא נתנו את היכולת להחליט האם להריץ בצורה סינכרונית או אסינכרונית)
function customValid(sender, args) {
$.ajax({
type: 'POST',
url: 'WebService1.asmx/IsOk',
data: { str: args.Value },
async: false,
success: function(result) {
args.IsValid = eval(result.text);
}
});
}
אני מפעיל את המתודה IsOk ב - WebService בצורה סינכרונית (אחרת יהיה לי PostBack עוד לפני שאני אקבל תשובה)
הנה המתודה ב - WebService
[WebMethod]
public bool IsOk(string str)
{
return str == "ok";
}