Ваш вопрос очень плохо задан.Поэтому я не буду углубляться в логику этого. Извините Вот очень простой пример того, как вы можете создать пользовательский класс проверки.
Самое важноеВы должны помнить, это два метода.
isValid()
: возвращает логическое значение «истина» или «ложь» getMessages()
: возвращает недопустимые сообщения об ошибках.
Здесьосновной пример сравнения, является ли пользователь администратором или нет.
class CustomValidate_UserAdmin extends Zend_Validate_Abstract
{
$admin = "username"; //I am using a static value this time
protected $_messageTemplates = array(
self::FLOAT => "'%value%' is not an admin"
);
public function isValid($value)
{
$this->_setValue($value);
if($this -> admin == $value) {
return true;
}
}
}
Теперь используйте его
$element->addValidator(new CustomValidate_UserAdmin('username'));
Это очень простой пример для понимания.Я думаю, вы можете заменить его на свою логику с большей легкостью.
Обновления
Добавить проверку следующим образом ...
$element->addValidator(new CustomValidate_Hash('file/location', $hashvaluettocompare));
Теперь в вашемкласс проверки
function isValid($location, $value) {
if(hash_file("md5", $location)==$value) return true;
}