【问题标题】:Zend Form validation not working properlyZend 表单验证无法正常工作
【发布时间】:2013-09-05 16:07:27
【问题描述】:

我为 Zend Framework 创建了这个电话表单输入字段。它应该确保输入正好是 10 位数字。但是,当给出正确的输入时,它会失败验证。谁能告诉我为什么?

<?php 
class Form_uspsSettings extends Zend_Form
{
. . .
      $phone = $this->createElement('text','phone');
        $phone->setLabel('Phone: *')
              ->setRequired(true)
              ->addFilter('Digits')
          ->addValidators(array(
            array('Digits'),
            array('stringLength', false, array(10))
          ));       

【问题讨论】:

  • 我认为您的 stringLength 验证器需要两个值:最小值和最大值。见:framework.zend.com/manual/1.12/en/…
  • 我尝试了两个值,但没有任何区别。我确实在文档中的某个地方看到他们提供了一个值,所以我认为这是有效的。不过感谢您的观察。

标签: forms validation zend-framework


【解决方案1】:

这是正确的方法,

        'validators' => array(
            array('StringLength', false, array(10, 10)),
        ),

按照 dirk 的建议给它两个值.. 它肯定会起作用..

【讨论】:

  • 我会再试一次,然后告诉你结果如何。
  • 不,没用。为了以防万一,我什至将“stringLength”更改为大写“S”。没有快乐。
  • 它会触发任何异常吗?还是只需要任何数字字符?
  • 即使只有 10 个字符,它也无法通过验证。我把这个问题转告给了一位同事,这样我就可以处理其他事情了。
猜你喜欢
  • 2012-11-18
  • 2012-04-22
  • 2012-11-18
  • 1970-01-01
  • 2020-04-24
  • 2015-11-26
相关资源
最近更新 更多