我正在使用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 \项目\预订\ LIB \表格\原则\ reservationApplicationForm.class.php 在第36行
基于该网站,此代码适用于1.4,我现在正在使用它。但我不知道为什么会有致命的错误。
答案 0 :(得分:5)
在你的lib文件夹中创建文件夹验证器,并在 lib / validator / myValidatorPhone.class.php
中输入验证器