[英]DevExpress textbox validation not working as desired
我有一个文本框,其具有以下要求:
我希望这样,只要您在文本框中输入一个字符,就会出现一条消息,指出该消息无效,并且即使用户在框中键入内容而未通过验证,该消息也将保持可见而不会消失。 例如,我在框中键入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();
根据我的评论,下面有一个大提示可以解决您的问题:
您可以随时通过ASPxClientEdit.Validate方法手动触发验证。 处理文本框编辑器的[ASPxClientTextEdit.TextChanged] [1]事件 ,以在其文本更改时执行自定义逻辑(例如,触发验证)。 希望这些信息对您有所帮助。
来源: https : //www.devexpress.com/Support/Center/Question/Details/Q572171/how-to-implement-custom-validation-on-text-boxes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.