zdcms可用于表单验证的自定义效验函数写法

zdcms建设网站中可以通过自定义校验函数来对用户输入的字段值进行验证是否合法合规,可用于表单中邮箱格式验证、手机格式验证等。


自定义校验函数格式如下:

function 函数名字($value, $data = [], $old = []) {

    return dr_return_data(1, '校验函数可以提交'); // 这句话是验证通过,允许提交
    return dr_return_data(0, '校验函数禁止提交'); // 这句话是验证不过通过,不允许提交

}

$value 是当前表单输入的值
$data 是当前表单全部提交过来的值,使用前可以打印一下
$old 是当前数据的老数据,只有修改数据才有值


举例:效验手机号码格式是否正确,请看下面代码:


1. 打开根目录/config/custom.php 在里面加入以下代码:

function dr_jiaoyan_dianhua($value, $data = [], $old = []) {

    if (!$value) {
        return dr_return_data(0, '电话号码没有填写');
    } elseif (!preg_match('/^[1][3,4,5,6,7,8,9][0-9]{9}$/', $value)) {
        return dr_return_data(0, '号码格式不对');
    }
    return dr_return_data(1, 'ok');
}

2. 找到你要进行验证的字段,点击数据验证,在校验函数/方法里填写函数名称,点击检查,提示定义成功就可以正常使用了。

zdcms自定义字段校验函数设置方法


同理,邮箱验证请用以下代码:

function dr_jiaoyan_hanshu($value, $data = [], $old = []) {

    if (!$value) {
        return dr_return_data(0, '邮箱没有填写');
    } elseif (!preg_match('/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/', $value)) {
        return dr_return_data(0, '邮箱格式不对');
    }
    return dr_return_data(1, 'ok');
}


字段长度验证用以下代码:

function dr_jiaoyan_changdu($value, $data = [], $old = []) {

    if (!$value) {
        return dr_return_data(0, '内容不能为空');
    } elseif (mb_strlen($value) > 20) {
        return dr_return_data(0, '长度不能超过20个字符');
    }
    return dr_return_data(1, 'ok');
}


如果你建站过程中需要用到表单验证,就试试这个方法吧。

评论