【问题标题】:Custom phone validator not working symfony自定义电话验证器不工作 symfony
【发布时间】:2011-09-01 02:42:34
【问题描述】:

我正在使用 symfony 1.4 原则。我有一个可以验证电话号码的代码,代码如下:(基于此网站“http://jasonswett.net/blog/how-to-validate-and-sanitize-a-phone-number-in-symfony/” )

我把它粘贴到了 lib 文件夹中。

 apps/frontend/lib/myValidatorPhone.class.php
<?php

/**
 * myValidatorPhone validates a phone number.
 *
 * @author Jason Swett (http://jasonswett.net/how-to-validate-and-sanitize-a-phone-number-in-symfony/)
 */
class myValidatorPhone extends sfValidatorBase
{
  protected function doClean($value)
  {
    $clean = (string) $value;

    $phone_number_pattern = '/^(\((\d{3})\)|(\d{3}))\s*[-\.]?\s*(\d{3})\s*[-\.]?\s*(\d{4})$/';

    if (!$clean && $this->options['required'])
    {
      throw new sfValidatorError($this, 'required');
    }

    // If the value isn't a phone number, throw an error.
    if (!preg_match($phone_number_pattern, $clean))
    {
      throw new sfValidatorError($this, 'invalid', array('value' => $value));
    }

    // Take out anything that's not a number.
    $clean = preg_replace('/[^0-9]/', '', $clean);

    // Split the phone number into its three parts.
    $first_part = substr($clean, 0, 3);
    $second_part = substr($clean, 3, 3);
    $third_part = substr($clean, 6, 4);

    // Format the phone number.
    $clean = '('.$first_part.') '.$second_part.'-'.$third_part;

    return $clean;
  }
}

然后我在表单文件夹中创建了这段代码

 lib/form/doctrine/reservation/reservationApplicationForm.class.php
$this->validatorSchema['telephone'] = new myValidatorPhone(array(
      'required' => false,
    ));

但是当我运行程序时出现错误:

致命错误:在中找不到类“myValidatorPhone” C:\www\project\reservation\lib\form\doctrine\reservationApplicationForm.class.php 第 36 行

根据网站,此代码适用于我现在正在使用的 1.4。但我不知道为什么会出现致命错误。

【问题讨论】:

    标签: php validation symfony-1.4


    【解决方案1】:

    在您的 lib 文件夹中创建文件夹验证器并将您的验证器放入 lib/validator/myValidatorPhone.class.php

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 2012-04-20
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多