联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
校验函数/方法 限制报名人数
类型:迅睿CMS 更新时间:2020-08-08 19:23:20

在后台开设了一个报名表单的字段,如果管理员发布信息的时候,只限制报名人数不能超过10个人,当第11个人的时候无法报名成功,这个功能应该怎么设计呢?需要在字段的【校验函数/方法】设置还是怎么样?有大神能提供方案吗?有偿也可!

image


预算费用和周期:

回帖
  • #1楼    迅睿框架创始人
    2020-08-08 17:05:32
    Chrome 0
    报名表单是网站表单还是模块表单。报名人数怎么算,是提交一个表单算一个人还是填写自由数量
  • adsl
    #2楼    adsl
    2020-08-08 17:21:26
    Chrome 0
    1、报名表单是模块表单2、报名人数是提交一个表单算一个人(如限制10个人,则只能提交10个表单)回复迅睿框架创始人
  • K大帅
    #3楼    K大帅
    2020-08-08 17:44:25
    Chrome 0
    https://www.xunruicms.com/doc/930.html在表单提交之前 做一个查询 已经存在了多少条adsl
  • #4楼    迅睿框架创始人
    2020-08-08 17:45:28
    Chrome 0
    那就不能在字段里面写函数了,只能重新模块表单的提交控制器,在提交之前限制判断,比如dayrui/App/Demo/Controllers/Toupiao.php
    <?php namespace Phpcmf\Controllers;
    
    /**
     * 二次开发时可以修改本文件,不影响升级覆盖
     */
    
    class Toupiao extends \Phpcmf\Home\Mform
    {
    
        public function index() {
            $this->_Home_List();
        }
    
        public function show() {
            $this->_Home_Show();
        }
    
        public function post() {
         写在这里提交之前判断
            $this->_Home_Post();
        }
    }
  • K大帅
    #5楼    K大帅
    2020-08-08 17:49:04
    Chrome 0
    代码自行尝试
    <?php namespace Phpcmf\Controllers;
    
    /**
     * 二次开发时可以修改本文件,不影响升级覆盖
     */
    
    class Test extends \Phpcmf\Home\Mform
    {
    
        public function index() {
            $this->_Home_List();
        }
    
        public function show() {
            $this->_Home_Show();
        }
    
        public function post() {
            // 提交前的操作
            if (\Phpcmf\Service::M()->table('表单表名')->counts() > 9){
             $this->_json(0, '提交失败,已经超过了十条');
            }
            // 提交处理
            $this->_Home_Post();
        }
        
        // 新增回调函数
         protected function _Call_Post($data) {
            $cp = parent::_Call_Post($data);
            if ($cp['code']) {
                // 这里写 提交成功时的 你的程序代码
                $this->_json($cp['code'], '提交表单成功', $cp['data']);
            } else {
                $this->_json(0, '提交失败', $cp['data']);
            }
        }
    }
    满意答案
  • adsl
    #6楼    adsl
    2020-08-08 19:23:20
    Chrome 0
    @K大帅:good!完美解决!