Валидация форм в joomla 1.5
16 октября 2010 - Администратор
Рейтинг: 0
Голосов: 0
3997 просмотров
Комментарии (0)
Нет комментариев. Ваш будет первым!
Joomla 1.5 содержит встроенный функционал для валидации форм. Вы можете это заметить попытавшись ввести в поле для email формы обратной связи что-нибудь неправильное.
Joomla 1.5 содержит встроенный функционал для валидации форм. Вы можете это заметить попытавшись ввести в поле для email формы обратной связи что-нибудь неправильное.
Если научнее joomla 1.5 включает функцию JHTMLBehavior::formvalidation(), которая представляет из себя ни больше не меньше чем:
function formvalidation() { JHTML::script(’validate.js’ ); }
Для того, чтобы включить валидацию необходимо лишь указать определенный класс для формы и необходимых полей в ней.
Для формы:
Для элементов формы:
Если какое-либо поле не прошло валидацию, его метка получит css-класс invalid.
То есть если вы назначите, например, красный цвет для этого элемента ваши юзеры будут знать с каким полем проблема.
Пример формы в которой невозможен сабмит без верных данных в поле email:
<?php JHTMLBehavior::formvalidation(); ?> <script language="javascript"> function myValidate(f) { if (document.formvalidator.isValid(f)) { f.check.value=’<?php echo JUtility::getToken(); ?>’;//send token return true; } else { alert(’Some values are not acceptable. Please retry.’); } return false; } </script> <form id="WV-form" method="post" class="form-validate" onSubmit="return myValidate(this);"> <input type="hidden" name="check" value="post"/> ... <input type="text" name="email" size="30" class="required validate-email"/> ... <input type="submit" value="Submit" /> </form>
Для создания пользовательского условия проверки на валидность необходимо определить пользовательскую функцию проверки:
Window.onDomReady(function() { document.formvalidator.setHandler(’birth’, function(value) { regex=/^d{4}(-d{2}){2}$/; return regex.test(value); }) })
Теперь задав для поля класс validate-birth вы будете производить валидацию поля на предмет маски yyyy-mm-dd.
Нет комментариев. Ваш будет первым!