在使用onethink制作网站的过程中,有时候我们根据模板页面要展示的内容,自己新建了相关的模型.如果我们要对新建立的模型中的字段进行相关的验证,比如说,让提交的内容不能超过100个字符长度.这时,我们就可以选择使用自定义函数验证,在验证规则里面填写自己写的相关函数名称即可,提示错误也可以进行自己定义.还是比较方便的....
自己在测试这个验证规则的时候.遇到过两个小问题.第一个就是字符串长度的计算,中文,英文的长度是不同的,还有就是编码问题.其中要统一一下中英文的长度.还有一个就是要过滤掉HTML代码标签和相关的空格.这个也是计算到长度里面的.只有注意到这些相关的问题,最终测试才成功.. 我们可以把自己写的自定义函数放到公共的函数目录下面(Application/Common/Common/function.php)或者后台(Application/Admin/Common)下面都行.例如我自己书写的测试函数:
//自定义测试函数
function abslength($str)
{
if(empty($str)){
return 0;
}
if(function_exists('mb_strlen')){
return mb_strlen($str,'utf-8');
}
else {
preg_match_all("/./u", $str, $ar);
return count($ar[0]);
}
}
function slen($str) {
$gl = trim(strip_tags($str));
$length = abslength($gl);
if($length >70) {
return false;
}
}