我有验证如下,但只喜欢触发,如果复选框被勾选。
<!-- TextBox and its validator -->
Name: <asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator runat="server"
ID="RequiredFieldValidator1"
Text="*"
ErrorMessage="Name is required"
ControlToValidate="TextBox1" />
我可以使用 asp:RequiredFieldValidator 完成它吗?
我只喜欢验证某个条件是否匹配。
目前,每次单击“保存”按钮时都会进行验证。
改用自定义验证器:
<asp:CustomValidator ID="cv1" runat="server"
ErrorMessage="Name is required"
Text="*"
ControlToValidate="TextBox1"
ValidateEmptyText="True"
ValidationFunction="validate" />
和脚本(只是检查一个复选框和文本框值作为例子;你可以使用自定义逻辑):
<script type="text/javascript">
function validate(s,args){
if(document.getElementById("<%= checkboxId.ID %>").checked){
args.IsValid = args.Value != '';
}
else{
args.IsValid = true;
}
}
</script>
这将执行客户端验证。如果您还需要服务器验证,请添加OnServerValidate
属性和后面的代码上的处理程序。See here for details。
我通过在客户端添加以下 javascript 轻松解决了这个问题。
ValidatorEnable(document.getElementById("RequiredFieldValidator1"), true); or
ValidatorEnable(document.getElementById("RequiredFieldValidator2"), false);
你也可以试试这个
protected void CheckBox_CheckedChanged(object sender, EventArgs e)
{
if(CheckBox.Checked)
{
RequiredFieldValidator1.Enabled = true;
RequiredFieldValidator1.ValidationGroup = "anything";
Button1.ValidationGroup = "anything";// your save on
}
else
{
RequiredFieldValidator1.Enabled = false;
RequiredFieldValidator1.ValidationGroup = string.Empty;
Button1.ValidationGroup = string.Empty; // save on
}
}
试试这个...
protected void RequiredFieldValidator1_Load(object sender, EventArgs e)
{
if (CheckBox1.Checked == true)
{
RequiredFieldValidator1.Enabled = true;
}
else if (CheckBox1.Checked == false)
{
RequiredFieldValidator1.Enabled = false;
}
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(86条)