我得到了这个ASPxTextBox
:
<dxe:ASPxTextBox ID="txtFirstName" runat="server">
<ClientSideEvents LostFocus="function(s, e) {
if (s.GetText() == '')
{
s.SetIsValid(false);
s.errorText = 'Please enter First Name.';
}
}"></ClientSideEvents>
<ValidationSettings ErrorDisplayMode="ImageWithTooltip">
</ValidationSettings>
</dxe:ASPxTextBox>
但显示的errorText
不是我在LostFocus
事件中设置的内容。相反,工具提示中会显示默认的errorText
“无效值”。
有什么想法吗?感谢
答案 0 :(得分:1)
为了完成这项任务,有必要:
启用“必需”验证(将ValidationSettings.RequiredField.IsRequired属性设置为“true”;
指定“required”errorText(ValidationSettings.RequiredField.ErrorText);
通过将ValidationSettings.ValidateOnLeave属性设置为“true”强制编辑器验证:
<dxe:ASPxTextBox ID="txtFirstName" runat="server">
<ClientSideEvents LostFocus="function(s, e) {
s.Validate();
}"></ClientSideEvents>
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" ValidateOnLeave="true">
<RequiredField IsRequired="true" ErrorText="Please enter First Name." />
</ValidationSettings>
</dxe:ASPxTextBox>
答案 1 :(得分:0)
我碰巧解决了这个问题:
if (s.GetText() == '')
{
s.errorText = 'Please enter First Name.';
s.SetIsValid(false);
}
在将errorText
的{{1}}属性设置为IsValid
之前,应首先修改ASPxTextBox
的值。
(我想嘲笑我的愚蠢!OMG)
感谢那些帮助过的人。 :)