サーバーサイドバリデートで気をつけること
サーバーサイドで@Maxbytelengthを使う時にcharsetに気をつける。
charsetを省略した場合にはシステムプロパティの"file.encoding"からデフォルトの文字セットを取得するようだ。
なので全角文字で1文字を2バイトで計算して、5文字と考えているのに、
@Maxbytelength(maxbytelength = 10)
とcharsetを省略して書くと
Windows … sjis=1文字が2バイト
Linux … utf-8=1文字が3バイト
というようにOSによってズレが出てしまう。
よって
charset="sjis"
と指定すると5文字で2バイト扱いになる。