C# 4.0 自定义验证程序启动,但不阻止回发
我已经看到了很多关于这个的问题,但是我被难住了!请帮忙 我有一个客户验证器。它开火了,但不能阻止回发。请帮我这么做!我可以看到console.log在post之前注册。但是,无论如何,它都会发回。如何防止回发C# 4.0 自定义验证程序启动,但不阻止回发,c#-4.0,asp.net-4.0,customvalidator,jquery-1.4,C# 4.0,Asp.net 4.0,Customvalidator,Jquery 1.4,我已经看到了很多关于这个的问题,但是我被难住了!请帮忙 我有一个客户验证器。它开火了,但不能阻止回发。请帮我这么做!我可以看到console.log在post之前注册。但是,无论如何,它都会发回。如何防止回发 <script type="text/javascript"> //<![CDATA[ function validateWhyUnlikely(source, args) { console.log(1); args.isValid = fals
<script type="text/javascript">
//<![CDATA[
function validateWhyUnlikely(source, args) {
console.log(1);
args.isValid = false;
}
//]]>
我尝试添加一个控件进行验证,验证空文本是否等于true。我还尝试添加e.preventdefault,但没有成功:(
如何防止回发
<script type="text/javascript">
//<![CDATA[
function validateWhyUnlikely(source, args) {
console.log(1);
args.isValid = false;
}
//]]>
//
jQuery(文档).ready(函数(){
jQuery(“#”)。单击(函数(e){
如果(Page.IsValid==false){
console.log(false);
e、 预防默认值();
返回false;
}
});
});
尽管我不确定您为什么要将单击
功能附加到提交按钮上,但一切看起来都正常。我会删除该功能并测试它,因为它可能会覆盖默认行为
此外,我认为您需要将IsValid
属性大写:
args.IsValid = false;
我也面临这个问题,我试图将一个自定义验证器添加到一个dropdownlist中,该列表附带了一个
selectedIndexChange
事件。在我为dropdown提供了不正确的值后,我能够使用自定义验证器中给出的错误消息,但在它发生回发后,我立即就可以使用它
但是,将此属性CausesValidation=“true”
添加到dropdownlist控件后,解决了我的问题
将此属性添加到下拉列表后,没有对错误的值进行回发。我也遇到了此问题 我所做的是,在按钮调用的C#过程中,我在顶部添加了
if (IsValid == false)
return;
我无法阻止它执行回发,因此在我看来,这是唯一的解决方案。发布此消息,因为它可能会帮助有同样奇怪行为的人 起初我的问题和这篇文章的标题一样,我检查了这里的所有建议,但我的代码似乎很好
为了解决这个问题,我替换了我的原因验证控件
您误用了ControlToValidate=“txtwyungally”
如果它有助于其他人,我有一个验证组,但我忘了添加按钮
确保将按钮、文本框和验证程序添加到同一验证组中,以防止回发。我通过创建一个变量解决了这个问题:
Boolean fieldIsValid = true;
在自定义验证表达式中,如果参数不为true,我将更改值:
if(args.IsValid == false)
{
fieldIsValid = false;
}
else
{
fieldIsValid = true;
}
然后,我还将其放在了submit click方法中:
protected void submit_Click(object sender, EventArgs e)
{
if (fieldIsValid)
{
//submit my things
}
}
谢谢…我希望JavaScript被编译!没有错误,没有看到这个大小写错误@Kelsey在2分钟前解决了我的问题。谢谢你的帮助回答并花时间让我们也知道。+1正确,关键是你不需要所有这些代码来防止回发。这是控件已经做过的事情。只需要指定验证组。
protected void submit_Click(object sender, EventArgs e)
{
if (fieldIsValid)
{
//submit my things
}
}