我想为Symfony 1.4创建自定义验证器,例如检查长度名称。我知道它存在,但我想拥有。
我创建/myapp/lib/validator/sfValidatorName.class.php
必须在那里:
class sfValidatorName extends sfValidatorBase
{
protected function configure($options = array(),
$messages = array()) {
$this->addMessage('invalid', 'Invalid name!');
}
protected function doClean($value) {
}
}
如何添加我的功能,例如:
if (count($letters) < 3) {
return 'too small';
} else if (count($letters) > 43) {
return 'too long';
}
答案 0 :(得分:2)
答案 1 :(得分:1)
由于您的示例正是sfValidatorString的作用,为什么不去看看它的来源?基本上你只是用相关的错误代码抛出验证错误(例如,invalid,min_length,max_length,...)。
默认情况下,任何验证程序都有错误“无效”和“必需”,但您可以使用addMessage()添加自己的错误。
对于这个具体的例子,更聪明的选择是配置或扩展sfValidatorString。