丢失的焦点上没有更新ASPxTextBox ErrorText

时间:2011-10-10 10:41:34

标签: c# javascript devexpress client-side-validation

我得到了这个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无效值”。

有什么想法吗?感谢

2 个答案:

答案 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)

感谢那些帮助过的人。 :)