php中的symfony 1.1 sfNumberValidator插件代码

时间:2013-08-28 11:39:34

标签: php symfony1 symfony-1.4

我在字段postalCode上的validate / confirm.yml中进行了验证检查:

 postalCode:  
  required: yes
  required_msg: ENTER_VALID_POSTALCODE
  validators: numberValidator 

numberValidator:
  class: sfNumberValidator
  nan_error:    NOT_A_NUMBER_ERROR

由于某种原因,我想在我的动作文件中移动类sfNumberValidator的逻辑或相同功能。

喜欢

class registerActions extends sfActions
{
    public function validateConfirm() {
            ....
            ...
        $postalCode = $this - > getRequestParameter('postalCode');

        if (postalCode != '') {

            //Do the same kind of validation like sfNumberValidator does 

        }

    }
....
}

1 个答案:

答案 0 :(得分:1)

您必须创建sfNumberValidator实例,然后调用execute方法。

这样的事情:

if ($postalCode != '') {

  $validator = new sfNumberValidator($this->getContext(), array(
           'nan_error' => 'Not a number',
           'min'       => 10000,
           'max'       => 99999
  ));
  $error = null;

  if(!$validator->execute($potalCode, $error)){
      //Here $error has the message you want to show the user
  }


}

PS:min和max只是一个建议,但你应该使用一些更明确的邮政编码案例