如何在客户端设置自定义验证器isValid属性
How to set custom validator isValid property on Client Side?
我在客户端设置customvalidator时有问题。基于特定的隐藏字段值,按钮的onClientClick事件应该触发一个函数,该函数将CustomValidator的isValid属性设置为false。
下面是一些代码:代码隐藏:protected void Page_Load(object sender, EventArgs e)
{
if (hiddenfieldValue == true)
{
btnSend.OnClick = "someJavascriptFunction()";
}
}
ASPX文件:
function someJavascriptFunction()
{
if (hiddenfieldValue == true)
// Show Validation and dont do postback
vldValdiator.isValid = false;
return false; //Dont do Postback
else
return true; Do Postback
}
<asp:CustomValidator ID="vldValidator" runat="server" Text = "ABC"/>
我无法在客户端基于隐藏字段值设置isValid属性。请帮忙。
方法1
你可以尝试在button onClientClick事件中将Page_IsValid
属性设置为false。就asp.net验证器而言,这将迫使页面进入非验证状态。
基本示例
function ButtonOnClickClient()
{
if ($('#hiddenFieldID').val() == 'someValue')
{
Page_IsValid = false;
}
}
老实说-我不相信Page_IsValid属性不会被重置。您需要尝试
方法2
您可以让customvalidator客户端验证检查隐藏字段,并在此基础上让验证器通过或失败验证。然后,按钮onclient单击事件可以调用Page_ClientValidate()
函数,该函数将强制在页面上进行验证。这将设置正确的验证属性。
基本例2
function CustomValidatorClientValidate(source, arguments)
{
if ($('#hiddenFieldID').val() == 'someValue'){
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
function ButtonOnClientClick()
{
Page_ClientValidate();
}
这使用JQuery -因为我发现这样更容易写一个例子。绝不是强制使用它。我还假设存在asp.net验证器API。如果您包含了这些控件,则应该是这样,但是您总是可以通过添加对函数名
的检查来加强。也如果你使用的是验证组你很可能是这个调用将变成
Page_ClientValidate(validationGroupName);
方法3 你可以试着设置customvalidator的isvalid属性。这将使您能够更直接地控制您想要的验证器。下面的引用说
是有效的布尔属性。这是每个客户端验证器上的属性指示当前是否有效
我已经做了与前两个类似的事情,但我没有亲自尝试过这个。
一般一般你使用的方法是直接操作asp.net验证器使用的javascript API。它不是很漂亮但是你可以得到你想要的控制
参考给出了你要使用的javascript API的引用。这是一篇很长的文章,但你想要的是在大约一半的地方
http://msdn.microsoft.com/en-us/library/Aa479045 好运多我真的需要离开这个,但你的代码是错误的在这里-它是OnClientClick。
btnSend.OnClientClick = "someJavascriptFunction()";
使用这个来绑定事件。
btnSend.Attributes.Add("onclick","return someJavascriptFunction();")
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- JS验证ajax返回的html中的表单数据
- 同步调用,直到用户通过angular验证为访问者
- 带有加号的电话号码验证(可选)
- 解析javascript表单验证器
- 两位数的月份日期验证
- 使用angularjs验证文本框中的电子邮件
- 验证Javascript中的Textarea
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 挖空验证 - isValid() 在值更改后始终为真
- 如何在客户端设置自定义验证器isValid属性
- isValid表单验证,然后运行函数AngularJS
- Page.IsValid总是返回false,即使我在java脚本中禁用了验证