嗨我在我的项目中使用zend图像元素,我已经验证了该字段。如果我选择的不是图像并提交表单,则会显示默认的错误消息,我尝试删除它并通过
添加自定义消息 $image->removeDecorator('Error');
$image->addErrorMessage('Invalid image');
但它不起作用。错误信息是
文件'.zfproject.xml'没有图片, 检测到'application / xml'
如何添加自定义错误消息并删除默认错误消息,请帮助....
这是我的代码
$image = new Zend_Form_Element_File('image');
$image->setLabel('Image URL :');
$image->setDestination($imagePath);
$image->addValidator('IsImage', false);
//$image->removeDecorator('Error');
//$image->addErrorMessage('tester');
答案 0 :(得分:1)
验证器消息存储在Zend / Validate / File / IsImage.php中:
protected $_messageTemplates = array(
self::FALSE_TYPE => "File '%value%' is no image, '%type%' detected",
self::NOT_DETECTED => "The mimetype of file '%value%' could not be detected",
self::NOT_READABLE => "File '%value%' is not readable or does not exist",
);
最简单的方法是验证器的子类:
class Custom_Validate_File_IsImage extends Zend_Validate_File_IsImage
{
/**
* @var array Error message templates
*/
protected $_messageTemplates = array(
self::FALSE_TYPE => "Customize your message to whatever you want to right here.",
self::NOT_DETECTED => "The mimetype of file '%value%' could not be detected",
self::NOT_READABLE => "File '%value%' is not readable or does not exist",
);
}
并使用自定义验证器代替:
$image->addValidator(new Custom_Validate_File_IsImage());
答案 1 :(得分:0)
如果您不关心不同的验证规则错误消息,并且只想显示一般错误失败消息,您可以直接执行
$element->addErrorMessage('Your error message');