groupの使い方

Mojaviの標準ValidatorManagerのgroupの使い方がわからなかった。
本家wikiは相変わらず死んでるし、フォーラム検索しても関係ないものばっか引っかかる*1ので調べられなかった。

で、ソースをよんだところ、同一groupを指定した場合でrequiredがYesのパラメタは、group内の1つ以上が存在しない限りrequireチェックがされない。ということらしい。

つまり、こういうことですか。

<form method="post">
<input type="text" name="required_in_group_a">
<input type="submit" name="submit_group_a" value="Submit Group A">
</form>
<form method="post">
<input type="text" name="required_in_group_b">
<input type="submit" name="submit_group_b" value="Submit Group B>
</form>

というフォームに対して

[methods]
get=""
post="required_in_group_a,submit_group_a,required_in_group_a,submit_group_a"

[names]
; group a
required_in_group_a.required = "Yes"
required_in_group_a.group    = "group_a"
submit_group_a.group         = "group_a"

; group b
required_in_group_b.required = "Yes"
required_in_group_b.group    = "group_b"
submit_group_b.group         = "group_b"

とかしてやれば、「Submit Group A」を押したときにはrequired_in_group_bの存在はチェックされないと。
逆に、「Submit Group B」を押したときにはrequired_in_group_aの存在はチェックされないと。
これは幸せだ。今度使おう

*1:発言者欄の『GROUP』が引っかかる?