在我提交表单的aspx页面中,我有以下html。
<p><asp:CheckBox ID="chkWishToDonateFrmTrust " runat="server" onclick="chkWishToDonateFrmTrustHandle(this)" />
Wish to donate from following Trust for future transactions</p><p> </p><p><textarea name="textarea" cols="45" rows="5" class="txtTrustDetails" runat="server"
id="txtTrustDetails" ></textarea></p>
我需要有一个必需的字段验证控件才能验证txtTrustDetails文本区域,只有当用户选中chkWishToDonateFrmTrust时才没有服务器回发。我使用的只是javascript库是Microsoft Ajax Framework.I还必须包含这个验证组的形式与其他一些控件。我已经知道我的知识一个必需的字段验证器控件只能验证单个UI控件(asp.net forum thread)社区中的任何人是否以直观的方式处理这类问题?
答案 0 :(得分:3)
正如另一个答案所说,使用自定义验证器并执行类似的操作(未经过测试,可能不太正确......):
<script type="text/javascript">
function validate(sender, args) {
var checkBox = document.getElementById('<%=CheckBox1.ClientID %>');
var textBox = document.getElementById('<%=TextBox1.ClientID %>');
if (checkBox.checked == 1) {
if (textBox.value == '') {
args.IsValid = false;
} else { args.IsValid = true; }
}
}
</script>
<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1" runat="server"
ErrorMessage="CustomValidator" ClientValidationFunction="validate"></asp:CustomValidator>
使用自定义验证程序并使用clientValidation函数调用javascript函数来检查您的值。 如果javascript已关闭,您还应该有一个servervalidate函数。
答案 1 :(得分:1)
你可以使用js函数或jquery函数来做这个是如何实现这个的示例代码
function chkValidate()
{
if($("#chkWishToDonateFrmTrust ").checked)
{
if($("#txtTrustDetails").val()=='')
{
args.IsValid = false;
//your custom message according to you
}
}
}
在您的sumbit按钮上调用此功能;