Paradigm Shift Design

ISHITOYA Kentaro's blog.

Validatorについて

今のところFicusでは,

<?php
class Soya_TestPage extends Ficus_Page{
    /**
     * @Required
     * @Regex(pattern="[0-9]+")
     */
    protected $someProperty;
}
?>

のようにする予定.かつpagesの設定で書いておけば,javascriptでValidateしてくれるやつを一緒に埋めこむ.

んー.ってかRegexがあれば他のValidatorはいらないのではないかと思ったり.でも数値として比較はいるのかな?LessThan?

<?php
class Soya_TestPage extends Ficus_Page{
    /**
     * @Evaluate("<=10")
     */
    protected $someProperty;
}
?>

とか・・・えー.Betweenとか必要なのかな.
アノテーション地獄に陥らないためにはやっぱ,EvaluateとRegexでがんばればいいんじゃないか.
Telephoneとか作りたくなったらどうしよう.あそれでいいや.@Regex(class="Telephone")

あとはFilterか,

<?php
class Soya_TestPage extends Ficus_Page{
    /**
     * @RegexFilter(pattern="([0-9]+?)_(0-9]+?)" replace="\1-\2")
     */
    protected $someProperty;
}
?>

とかでいいんじゃないかと.
DateTimeFilterとか用意したほうがいいのかなぁ.いいんだろうなぁ.あーでも必要になったら作ろう.

ところでなぜTeedaはgetterにアノテーションつけるのかな.特別な意味があるのかな.