Потрібно було мені перевірити поля з email і паролем перед відсиланням на сервер.
Я вирішив використати для цього jQuery. Знайшов чудовий плагін Validation, який дозволяє досить легко налаштувати що і як перевіряти.
Ось код який я використав для перевірки моїх ASP.NET полів:
$().ready(function(){
$("#aspnetForm").validate({
rules: {
<%=tbEmail.UniqueID %>: {required: true,email: true},
<%=tbPassword.UniqueID %>: {required: true}
},
messages: {
<%=tbEmail.UniqueID %>: "Please enter a valid email address",
<%=tbPassword.UniqueID %>: "Please provide a password"
}
});
});
* This source code was highlighted with Source Code Highlighter.Але в мене виникла проблема: поля перевірялись лише після натискання на asp:Button чи простого input, але я використовував на сторінці LinkButton який викликав __doPostBack а не стандартний метод submit. Трохи покопавшись в коді я знайшов вирішення.
Можна написати так:
$().ready(function(){
$("#aspnetForm").validate({
.....
});
var form = $("#aspnetForm")[0];
form.onsubmit=function(){
return $("#aspnetForm").triggerHandler("submit");
};
});
* This source code was highlighted with Source Code Highlighter.Але мені потрібно перевіряти значення і блокувати надсилання данних на сервер, лише, при натисненні певної кнопки. Далі наводжу повний код для валідації який я використав:
$().ready(function(){
$("#aspnetForm").validate({
rules: {
<%=tbEmail.UniqueID %>: {required: true,email: true},
<%=tbPassword.UniqueID %>: {required: true}
},
messages: {
<%=tbEmail.UniqueID %>: "Please enter a valid email address",
<%=tbPassword.UniqueID %>: "Please provide a password"
}
});
$("#<%=btnLogin.ClientID %>").click(function(){
return $("#aspnetForm").triggerHandler("submit");
});
});
* This source code was highlighted with Source Code Highlighter.



