2010/03/08(Mon) 07:43:53 編集(投稿者)
■No47488 (しょう さん) に返信
> checkboxのvalidatorはどのように実装すればよいのでしょうか?
遅きに失したかもしれませんが。
CustomValidator コントロールを利用してください。
通常は JavaScript によるクライアント側での検証と C# によるサーバー側での検証を実
装します。
まずはクライアント側での検証。
CheckBox を取得して checked == true であれば検証成功、checked == false であれば
検証失敗の function を用意します。
検証成功の場合は第2引数の IsValid に true をセット、失敗の場合は false をセット
します。
[WebForm.aspx]
<script type="text/javascript">
function checkBox1Validate(source, arguments) {
var checkBox1 = document.getElementById('<%= CheckBox1.ClientID %>');
if (checkBox1.checked == true) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
そして、CustomValidator.ClientValidationFunction プロパティに、作成した function
名をセットします。
[WebForm.aspx]
<asp:CustomValidator
ID="CustomValidator1"
runat="server"
ErrorMessage="チェックしてくださいなー"
onservervalidate="CustomValidator1_ServerValidate"
ClientValidationFunction="checkBox1Validate"></asp:CustomValidator>
次にサーバー側での検証。
CustomValidator.ServerValidate イベントのハンドラに記述します。
検証成功か否かの bool 値を ServerValidateEventArgs.IsValid プロパティにセットし
ます。
[WebForm.aspx.cs]
protected void CustomValidator1_ServerValidate(object source,
ServerValidateEventArgs args) {
if (CheckBox1.Checked == true) {
args.IsValid = true;
} else {
args.IsValid = false;
}
}
RadioButton もほぼ同じような感じで出来るかと思います。