我有一个文本框,其中包含以下要求:
我想这样,只要你在文本框中输入一个字符就会出现一条消息,说明这是无效的,只要验证在用户输入时没有通过,该消息将保持可见而不会消失进入盒子。例如,我在框中键入1并立即显示错误,然后在输入2345678时,即使在编辑器上失去焦点,该消息仍然可见。然后,只要我添加9,消息就会消失。我已经有了验证的工作逻辑,我似乎无法让事件触发我想要的东西。例如,如果我开始在字段中键入,则错误消失,直到失去焦点然后再次出现。如何在打字时让它保持不变?
Html.DevExpress().TextBox(tb =>
{
tb.Name = "tbAddressChangeDUNS";
tb.Width = Unit.Percentage(100);
tb.Properties.ClientSideEvents.KeyUp = "function(s, e) {s.Validate();}";
tb.Properties.ClientSideEvents.LostFocus = "function(s, e) {s.Validate();}";
tb.Properties.ClientSideEvents.Validation = @"function(s, e) {
var duns = e.value;
if(!duns)
return;
if(!IsValidDunsNumber(duns)) {
e.isValid = false;
e.errorText = 'Must be exactly 9 digits';
}
}";
}).Render();
答案 0 :(得分:0)
根据我的评论,下面有一个很大的提示可以解决你的问题:
您可以随时通过ASPxClientEdit.Validate Method手动触发验证。处理文本框编辑器的[ASPxClientTextEdit.TextChanged][1] Event以在其文本更改时执行自定义逻辑(例如,触发器验证)。我希望这些信息对您有所帮助。