PasswordStrengthコントロール
PasswordStrengthコントロールはパスワードが見破られやすいかどうか視覚的に判断できる機能を持ったエクステンダコントロールです(Extenderが付いていませんが)。ユーザーがパスワードを設定する際に、文字、数字、記号の入力値からそのパスワードの堅牢性が高いかどうかをリアルタイムにコメントさせることが可能です。HelpStatusLabelID
プロパティによりどの文字列が足りないのかラベルに表示させることができますが、ヘルプは英語で表示されるので注意が必要です。
プロパティ名 | 概要 |
DisplayPosition | インジケータやテキストの表示位置を設定 |
StrengthIndicatorType | 堅牢性をインジケータで表示するかテキストで表示するか設定 |
BarBorderCssClass | StrengthIndicatorTypeプロパティでインジケータを選択した場合に適用するインジケータの外部の「線」を設定する |
BarIndicatorCssClass | StrengthIndicatorTypeプロパティでインジケータを選択した場合に適用するインジケータの内部のバーの「色」を設定する |
PreferredPasswordLength | 良しとするパスワードの長さを設定 |
PrefixText | StrengthIndicatorTypeプロパティがTextの時にトップに表示されるテキストを設定 |
MinimumNumericCharacters | 最低限入力するべき数字の数を設定 |
MinimumSymbolCharacters | 最低限入力するべき記号の数を設定 |
TextStrengthDescriptions | StrengthIndicatorTypeプロパティがTextの時に使用するパスワードコメントをセミコロンで分けて設定(最小2個、最大10個) |
HelpStatusLabelID | ヘルプを表示するラベルを設定 |
TargetControlID | パスワードコメントを表示させる「TextBoxコントロール」のIDを設定 |
パスワードの堅牢性を判断するために、数字を5字以上、記号を2字以上、トータルで10字以上入力された際に理想のパスワードであるとするには、次のように設定します。
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <ajaxToolkit:PasswordStrength ID="PasswordStrength1"
runat="server" MinimumNumericCharacters="5"
MinimumSymbolCharacters="2" PreferredPasswordLength="10"
TargetControlID="TextBox1"
TextStrengthDescriptions="記号を含める必要があります;平均的なパスワードです;理想のパスワードです" HelpHandlePosition="BelowRight" HelpStatusLabelID="Label1"
PrefixText="パスワードの堅牢性: "/> <br /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
サンプルを実行すると図8~10のようになります(ダウンロードサンプルのファイルは「/PasswordStrength/PasswordStrength.aspx」です)。
MutuallyExclusiveCheckboxExtenderコントロール
MutuallyExclusiveCheckboxExtenderコントロールは複数のチェックボックスに同一キーを指定し、どれか1つしかチェックできない機能を付加するエクステンダコントロールです。チェックボックスの数だけこのエクステンダコントロールは必要になる点に注意してください。機能的にRadioButtonListコントロールと似ていますが、このMutuallyExclusiveCheckboxExtenderコントロールを利用すると、RadioButtonListでは行えない、一度付けた「チェックを外す」ことも可能となっています。
プロパティ名 | 概要 |
Key | チェックボックス間をグループ化させるのに使用するユニークキー |
TargetControlID | グループ化させる「CheckBoxコントロール」のIDを設定 |
左側と右側のどちらか一方しか選択させたくない場合は、次のように設定します。今回は二択ですが、チェックボックスのKeyさえ同じにしておけば、複数のチェックボックスから1つだけを選択させることもできます。
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="MutuallyExclusiveCheckBoxExtender1"
runat="server" TargetControlID="CheckBox1" Key="Check1" > </ajaxToolkit:MutuallyExclusiveCheckBoxExtender> <asp:CheckBox ID="CheckBox1" runat="server" Text="左" /> </td> <td style="width: 100px"> <ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="MutuallyExclusiveCheckBoxExtender2"
runat="server" TargetControlID="CheckBox2" Key="Check1"> </ajaxToolkit:MutuallyExclusiveCheckBoxExtender> <asp:CheckBox ID="CheckBox2" runat="server" Text="右" /> </td>
サンプルを実行すると図11~13のようになります(ダウンロードサンプルのファイルは「/MutuallyExclusiveCheckboxExtender/MutuallyExclusiveCheckboxExtender.aspx」です)。