この記事は A-Form Advent Calendar 2019 参加記事です。
ドキュメントに掲載しそびれていた小ネタを紹介します。
入力画面で「必須かどうか」を判定する「is_necessary」があります。
<mt:loop name="fields"> の中であれば
<mt:if name="is_necessary">(必須の場合表示)</mt:If>
というように使用できます。
このis_necessaryを入力画面のテンプレート(aform_form.tmpl)で下記のように使うと、
必須入力項目だけにclassをつけることができます。
<mt:else><mt:Ignore><!-- 見出し, コメント・注釈パーツ以外 --></mt:Ignore>
<dl class="dl_<mt:var name="parts_id" escape="html"><mt:if name="is_necessary"> necessary</mt:If>"> ★←ココ
<dt><mt:AFormFieldLabel aform_id="$aform_id" parts_id="$parts_id">
<mt:AFormFieldValidation aform_id="$aform_id" parts_id="$parts_id"></dt>
<dd><mt:AFormFieldInputExample aform_id="$aform_id" parts_id="$parts_id">
<mt:AFormFieldInput aform_id="$aform_id" parts_id="$parts_id">
<mt:AFormFieldError aform_id="$aform_id" parts_id="$parts_id"></dd>
</dl>
.aform-content dl {
margin: 0.125em 0;
padding: 0.5em 0;
display: flex;
border-bottom: 1px dotted #ccc;
}
.aform-content dl dt {
font-weight: bold;
width: 35%;
border-right: 5px solid #ccc;
margin-right: 2.5%;
background: #f0f0f0;
padding: 10px;
}
.aform-content dl dd {
margin: 0 0 0.5em;
width: 65%;
}
.aform-content dl.necessary dt {
border-right-color: #D92B00;
}
色面積が増えると、わかりやすくなりますね。
お試しください!