【问题标题】:cakephp-3 form validation for length range (between)cakephp-3 表单验证长度范围(之间)
【发布时间】:2018-04-12 11:01:17
【问题描述】:

我正在将 Cakephp-1 项目转换为 Cakephp-3。所以我需要帮助来转换验证码:

Cakephp-1 代码

'name' => array(
    'between' => array(
        'rule' => array('between', 2, 50),
        'message' => 'Ditt namn måste vara minst två tecken långt!'
     )
)

我已经尝试了代码:

Cakephp-3 代码

$validator
    ->requirePresence('name', 'create')
    ->notEmpty('name')
    ->add('name', [
        'between' => [
            'rule' => [2, 50],
            'message' => 'Namnet måste vara mellan 2 och 50 tecken lång!',
        ]
    ]);

但它给了我错误:

无法在字段“名称”的“默认”提供程序中调用方法“2”...

现在我该怎么办??

【问题讨论】:

    标签: validation cakephp-3.0


    【解决方案1】:

    正确的代码应该是

    ->add('name', [
        [
           'rule' => ['lengthbetween', 2, 50],
           'message' => 'Namnet måste vara mellan 2 och 50 tecken lång!',
        ]
    ]);
    

    【讨论】:

      【解决方案2】:

      您还可以为每个最小长度和最大长度设置不同的验证消息:

      $validator
          ->add('body', [
              'minLength' => [
                  'rule' => ['minLength', 10],
                  'last' => true,
                  'message' => 'Comments must have a substantial body.'
              ],
              'maxLength' => [
                  'rule' => ['maxLength', 250],
                  'message' => 'Comments cannot be too long.'
              ]
          ]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-01
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-21
        相关资源
        最近更新 更多