タグ ‘ validate

数値系のValidateの違い

数字系のValidateには、以下があります


・Zend_Validate_Digits

・Zend_Validate_Int

・Zend_Validate_Float

・Zend_Validate_LessThan

・Zend_Validate_GreaterThan

・Zend_Validate_Between


この中で、下の3つはクラス名からのイメージ通りなので割愛します。

Int、Floatもクラス名からイメージ通りなのですが、Digitsも含めて、

どういう風に判定結果が変わるのかを考えると、???となりました。私は。


調べてみたところ、こんな感じです。

・Digitsは、数字のみで構成されていること

・Intは、整数であること

・Floatは、整数または小数点を含む数値であること


これだけでは、まんまだねで終わるので、例で説明します


【例1 : 09022225555】

 Digits⇒○、Int⇒×、Float⇒×


【例2 : 0.01】

 Digits⇒×、Int⇒×、Float⇒○


【例3 : -1】

 Digits⇒×、Int⇒○、Float⇒○


【例4 : 2】

 Digits⇒○、Int⇒○、Float⇒○

  • 数値系のValidateの違い はコメントを受け付けていません。

Zend_Validate_NotEmptyの注意点

いまさらなんですが、気づいたのでメモしておきます。


Zend_Validate_NotEmptyですが、クラスの中ではphpのemptyメソッドを利用して

判定が行われているので、判定結果もemptyメソッドの処理結果と同様になります。


以前emptyメソッドではまったところなんですが、’0’は空と判定されるのです。

empty(‘0’)は true が判定結果として返されます。


入力チェックで、0 を許容したいところには、Zend_Validate_NotEmptyは使えません。


0 の1文字を許容するところは、数値の入力欄だと思うので、

Zend_Validate_Digitsを利用するといいです。

これは、クラス内で $value === ” という判定を行ってくれますので、

正確に空を判定することができます。

  • Zend_Validate_NotEmptyの注意点 はコメントを受け付けていません。

return top