对于我的学校项目,我尝试用Zend制作表格。
我想插入一个验证器,即首字母必须为大写字母。
为了使这项工作有效,我应该在这段代码中进行哪些更改?
$voornaam = $this->createElement('text', 'voornaam');
$voornaam->setLabel('Voornaam:')
->setAttrib('size', 50)->addValidator('StringLength', false,array(2,30))
->setRequired(true);
如果有人可以帮助我,请提前谢谢!
最佳答案
也许这个自定义验证器会有所帮助:
class My_Validate_FirstCapital extends Zend_Validate_Abstract {
const CAPITAL = 'capital';
protected $_messageTemplates = array(
self::CAPITAL => "First letter is not capital"
);
public function isValid($value, $context = null) {
if ($value != ucfirst($value)) {
$this->_error(self::CAPITAL);
return false;
}
return true;
}
}
我没有测试,但应该可以。
另一种方法是使用Zend_Validate_Regex,例如
//match first capital letter
$validator = new Zend_Validate_Regex(array('pattern' => '/^[A-Z]/'));
// and add it to your element, ->addValidator($validator)