我试图更新该错误消息为通过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的线的方法,但没有一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top