Понеділок, 20 жовтня 2008 р.

jQuery validation

Потрібно було мені перевірити поля з email і паролем перед відсиланням на сервер.
Я вирішив використати для цього jQuery. Знайшов чудовий плагін Validation, який дозволяє досить легко налаштувати що і як перевіряти.

Ось код який я використав для перевірки моїх ASP.NET полів:
$().ready(function () {
$("#aspnetForm").validate({
rules: {
txtEmail: {
required: true,
email: true
},
txtPassword: {
required: true
}
},
messages: {
txtEmail: "Please enter a valid email address",
txtPassword: "Please provide a password"
}
});
});


Але в мене виникла проблема: поля перевірялись лише після натискання на asp:Button чи простого input, але я використовував на сторінці LinkButton який викликав __doPostBack а не стандартний метод submit. Трохи покопавшись в коді я знайшов вирішення.

Можна написати так:
$().ready(function () {
$("#aspnetForm").validate({
.....
});
var form = $("#aspnetForm")[0];
form.onsubmit = function () {
return $("#aspnetForm").triggerHandler("submit");
};
});


Але мені потрібно перевіряти значення і блокувати надсилання данних на сервер, лише, при натисненні певної кнопки. Далі наводжу повний код для валідації який я використав:
$().ready(function () {
$("#aspnetForm").validate({
rules: {
txtEmail: {
required: true,
email: true
},
txtPassword: {
required: true
}
},
messages: {
txtEmail: "Please enter a valid email address",
txtPassword: "Please provide a password"
}
});
$("#").click(function () {
return $("#aspnetForm").triggerHandler("submit");
});
});

jQuery

jQuery - напрочуд простий у розумінні javascript фреймворк, але він містить потужні засоби для побудови сучасних веб сторінок. З'явився в 2006 році і набув нечуваної популярності. Розповсюджується безкоштовно на основі відкритого коду. Містить потужну систему плагінів. На сайті співтовариства яке розробляє цю бібліотеку опублікована величезна кількість плагінів розроблених добровольцями.

Я довго не звертав уваги на цей фреймворк, в основному працював із фреймворком від Майкрософт - ASP.NET AJAX. Але нещодавно Майкрософт заявила, що вони не будуть удосконалювати свою бібліотеку підтримкою шаблонів для біндання даних. Вони порахували що це їм буде важко реалізувати тим більше що дана функціональність вже існує в jQuery.
На основі домовленості із співтовариством розробників, Майкрософт буде використовувати цю бібліотеку у власних продуктах, і вона буде поставлятись із наступними версіями Visual Studio.

Після цього я вирішив спробувати використовувати jQuery як основний фреймворк для розробки клієнтських скриптів.

Мої закладки з тегом jQuery.