pico-1.51では、HTMLでValidateするルールが大きく変わりました。(ついでに、formmailプラグインそのものも大きく変貌しています)
(1)〜(3)も一部書き直しているので、古いのを読んでいた方はぜひ読み直してください。
今後、このHTML Validated Formシステムはいろいろな局面で流用すると思うので、デザイナーさんのためのルールを可能な限り詳しく記述します。
●項目名
name属性です。一通りのキャラクターが利用できます。日本語でも構いません。
配列も指定できますが、明示的に使う必要はほとんどありません。
●項目タイトル
<input><select><textarea>に対応する<label>がある場合、それを最優先に取得します。
checkboxやradioの場合は、<label>ではなく、所属する<fieldset>ブロック内の<legend>が最優先となります。
(<label>や<legend>ブロック内のテキストについているHTMLタグは除去されます)
<label>や<legend>が無い場合は、タグのtitle属性から項目タイトルを取得します。
上記のいずれからも項目タイトルが取得できなかった時には、項目名(name属性)が、項目タイトルとして扱われます。
●必須
class属性で指定します。
<input ... class="required" />
入力されていない、選択されていない時にエラーとなります
●型指定
class属性で指定します。以下のうち、いずれか一つだけが指定可能です。複数の型指定があった場合は、最初のものだけが利用されます。
- int
-- 整数型へ変換されます
- double
-- 浮動小数点型に変換されます
- singlebytes
-- 全角->半角変換の自動変換を行います
- email
-- 全角->半角変換の後、RFC2822によるチェックを行います。形式が合わなければエラーとなります。
- telephone
-- 全角->半角変換の後、電話番号を構成しなさそうなキャラクターが排除されます
フォームメールを使用するために色々テストをして気が付いたのですが、class="int required"の時に未入力だった場合テキストエリアに0が帰ってきます。