【发布时间】:2009-12-11 18:24:01
【问题描述】:
我有一个简单的表单,其中包含一个文本框和一个面板,其中包含三个单选按钮。我使用了带有错误提供程序的验证事件来强制用户在文本框中放置一个数字。我的问题是单选按钮组。用户需要选择一个单选按钮。我发现您无法在包含单选按钮的面板上进行验证,而是必须为每个按钮编写一个验证事件。有没有一种简单的方法来确保用户选择了一个单选按钮?谢谢。
【问题讨论】:
我有一个简单的表单,其中包含一个文本框和一个面板,其中包含三个单选按钮。我使用了带有错误提供程序的验证事件来强制用户在文本框中放置一个数字。我的问题是单选按钮组。用户需要选择一个单选按钮。我发现您无法在包含单选按钮的面板上进行验证,而是必须为每个按钮编写一个验证事件。有没有一种简单的方法来确保用户选择了一个单选按钮?谢谢。
【问题讨论】:
一个简单的方法是简单地使用这个代码:
bool selectionMade = radioButton1.Checked || radioButton2.Checked || radioButton3.Checked;
您无需将此代码放在任何验证事件中,您可以将其放在需要确保选中 RadioButton 的任何位置。这可以在保存当前记录的按钮的单击事件中,等等。如果selectionMode 为假,则触发您需要的任何用户通知。
如果您确实需要使用 RadioButton 的验证事件之一,您可以只创建一个这样的事件,然后连接您的所有 RadioButton 以使用该事件。您可以通过事件的object sender 参数找出哪个 RadioButton 触发了验证事件。
【讨论】:
我会使用GroupBox,将您的RadioButton 控件放入其中并在您的GroupBox 上使用Validating 事件。
【讨论】:
您可以使用Custom Validator
使用类似于
的代码指定一个ClientValidationFunction<script language="javascript">
function ClientValidate(source, arguments)
{
if ($('#button1').checked || $('#button2').checked || $('#button3').checked ) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
【讨论】: