首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CakePHP -用相同的规则验证多个字段

CakePHP -用相同的规则验证多个字段
EN

Stack Overflow用户
提问于 2014-03-27 05:22:55
回答 1查看 1.8K关注 0票数 3

假设我有十几个单选按钮字段,我想根据两个共同的规则进行验证。

代码语言:javascript
运行
AI代码解释
复制
   'valid'=> array(
        'rule' => array('inList', array('yes','no')),
        'message' => 'Illegal Choice Detected'

   ),
   'required'=> array(
       'rule' => array('notEmpty'),
       'message' => 'Field is required.'
   ),

我如何才能做到这一点,而不必将每个验证规则分配给每个字段?

编辑

对于那些喜欢像我自己有时喜欢的勺子喂养的人来说,下面是我根据Burzum的回答所做的事情!

代码语言:javascript
运行
AI代码解释
复制
   public function beforeValidate($options = []) {
        $fields = ['field_1','field_2','field_3','etc'];
        foreach ($fields as $field) {            
            $this->validate[$field]['required'] = array(
                    'rule' => array('notEmpty'),
                    'message' => 'Field is required.'
            );
            $this->validate[$field]['legal'] = array(
                    'rule' => array('inList', array('yes', 'no')),
                    'message' => 'An illegal choice has been detected, please contact the website administrator.'
            );
        }
        return true;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-27 05:31:56

将它们添加到beforeValidate()中的foreach循环中

代码语言:javascript
运行
AI代码解释
复制
public function beforeValidate($options = []) {
    $fields = ['field1', '...'];
    foreach ($fields as $field) {
        // Add your rule(s) here to the field
        $this->validate[$field]['myRule'] = ['...'];
    }
    return true;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22688995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档