我在字段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
}
}
....
}
答案 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只是一个建议,但你应该使用一些更明确的邮政编码案例