いまさらなんですが、気づいたのでメモしておきます。
Zend_Validate_NotEmptyですが、クラスの中ではphpのemptyメソッドを利用して
判定が行われているので、判定結果もemptyメソッドの処理結果と同様になります。
以前emptyメソッドではまったところなんですが、’0’は空と判定されるのです。
empty(‘0’)は true が判定結果として返されます。
入力チェックで、0 を許容したいところには、Zend_Validate_NotEmptyは使えません。
0 の1文字を許容するところは、数値の入力欄だと思うので、
Zend_Validate_Digitsを利用するといいです。
これは、クラス内で $value === ” という判定を行ってくれますので、
正確に空を判定することができます。