joomla内置的表单验证功能使用方法
作者:
Joomla有自己的表单验证功能,可以很方便地实现验证,没有通过验证的输入框在提交报错后会用红色边框表示,很清楚地知道漏了那几项没填。
以下说一下使用方法:
在要使用表单功能的页面的最上面输入如下代码
JHTML::_('behavior.formvalidation');
然后把如下脚本加入页面上
<script type="text/javascript">
function formValidate(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的位置修改代码
添加了以上代码之后,在form中的input只要加入class="required",验证功能就会生效。
joomla的验证脚本都用class实现,class的名称决定使用什么验证方法。
最常用的class="required"意思为必填项
class="validate-email"意思为验证邮件地址
验证方法可以复合使用,比如我要Email为必须,符合格式才可以提交,可以这样写:
class="validate-email required"
定制验证方法:
Joomla验证功能支持定制,可以设置不常用的验证规则。
比如我要做一个密码项加一个确认密码项,两个输入框的值相等才可以提交,可以添加如下脚本
document.formvalidator.setHandler('passverify', function (value) { return ($('password').value == value); });
<input type="password" value="" class="validate-passverify" />
在要使用表单功能的页面的最上面输入如下代码
JHTML::_('behavior.formvalidation');
然后把如下脚本加入页面上
复制代码 代码如下:
<script type="text/javascript">
function formValidate(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的位置修改代码
复制代码 代码如下:
<form ... onsubmit="return formValidate(this)">
添加了以上代码之后,在form中的input只要加入class="required",验证功能就会生效。
joomla的验证脚本都用class实现,class的名称决定使用什么验证方法。
最常用的class="required"意思为必填项
class="validate-email"意思为验证邮件地址
验证方法可以复合使用,比如我要Email为必须,符合格式才可以提交,可以这样写:
class="validate-email required"
定制验证方法:
Joomla验证功能支持定制,可以设置不常用的验证规则。
比如我要做一个密码项加一个确认密码项,两个输入框的值相等才可以提交,可以添加如下脚本
复制代码 代码如下:
document.formvalidator.setHandler('passverify', function (value) { return ($('password').value == value); });
<input type="password" value="" class="validate-passverify" />