您的位置 首页 php技术

fastadmin表单验证之失去焦点校验

使用场景:会员名、标题等唯一性校验 效果图 1.HTML部分 添加 <input id=”c-title…

使用场景:会员名、标题等唯一性校验
效果图

1.HTML部分

  • 添加
<input id="c-title" data-rule="required;remote(get:archives/check_title_available)" class="form-control" name="row[title]" type="text" value="">

备注:
data-rule="required;remote(get:archives/check_title_available)"
这句话的含义:
校验规则
required 必填
remote(get:archives/check_title_available) 访问地址为archives/check_title_available,控制器名:archives,函数名:check_title_available

  • 编辑
  • <input id="c-title" data-rule="required;remote(get:archives/check_title_available?row[id]={$row.id})" class="form-control" name="row[title]" type="text" value="{$row.title}">

备注:

data-rule="required;remote(get:archives/check_title_available?row[id]={$row.id})"

与上述所说的,添加后缀?row[id]={$row.id},此为get参数,id为不含当前编辑的文章。

2.控制器部分

public function check_title_available(){
        $params = $this->request->get("row/a");
        $title = $params['title'];

        $id = isset($params['id']) ? (int)$params['id'] : '';
        if($id){
            $this->model->where('id', '<>', $id);
        }
        $count = $this->model->where('title', '=', $title)->count();
        if ($count > 0)
        {
            $this->error('该标题已经占用');
        }
        $this->success();
    }

具体的业务逻辑还需要各位大神自行修改

本文来自网络,不代表MuKe网站资源立场,转载请注明出处:https://www.somke.cn/archives/36

作者: delon

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: lon_mail@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部