从Javascript更新ValidatorCallOut错误消息
-
12-09-2019 - |
题
我试图更新该错误消息为通过JavaScript使用ValidatorCallOut一个的CustomValidator。基本上,它检查是否进入了一个号码是指定数目的增量。我有一些代码,将更新的错误消息,这是第一次运行,但之后将不再更新的错误消息,虽然通过JavaScript警告我看到的值实际上是被更新。下面是我使用的客户端的JavaScript验证函数:
function checkIncrement(sender, args) {
var incrementValue = parseInt(sender.orderIncrement); // Custom attribute registered with RegisterExpandoAttribute
var remainder = args.Value % incrementValue;
if ((remainder) != 0) {
var remainder, lowRange, highRange;
lowRange = parseInt(args.Value - remainder);
highRange = parseInt(lowRange + incrementValue);
sender.errormessage = "Closest possible values are <b>" + lowRange + "</b> or <b>" + highRange + "</b>"; // Gets updated once, but not after that
alert("Low Range: " + lowRange); // always updated with current value
args.IsValid = false;
return;
}
args.IsValid = true;
}
这是怎么每到这个运行来验证?时间保持错误信息更新的任何想法
解决方案
尝试以下方法:
sender.errormessage = "Your message here";
var cell = sender.ValidatorCalloutBehavior._errorMessageCell;
// cell is going to be null first time.
if (cell != null) {
cell.innerHTML = "Your message here";
}
为什么一旦已经初始化的消息枝的原因是因为标注最初不创建。一旦它被创建,标注只是隐藏,而不是重建后续表现。因此,消息,它正在创建它会坚持,坚持用时初始化。上面的代码是一个黑客和真的应该沿着set_ErrorMessage的线的方法,但没有一个。
不隶属于 StackOverflow