2011-10-10 57 views
1

我得到这个ASPxTextBoxASPxTextBox ERRORTEXT不更新失去焦点

<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

我正好解决这个问题:

 if (s.GetText() == '') 
     { 
      s.errorText = 'Please enter First Name.'; 
      s.SetIsValid(false); 
     } 

修改的errorText价值应该排在最前面ASPxTextBoxIsValid属性设置为false之前。

(我想在我的stupidness笑!OMG)

感谢那些谁帮助。 :)

+0

我认为这应该为一些控制的'clientsideevents'。在我想到这个之前,我模拟了“LostFocus”以外的客户端事件。谢谢 – KaeL

1

为了完成这个任务,就必须:

启用了“需要”验证(设置ValidationSettings.RequiredField.IsRequired属性设置为“真”;

指定“必需的” 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> 
+0

感谢您的答案!我得到了这个,但我还需要一些自定义验证,而不仅仅是需要的字段。这是否意味着我无法解决上述问题?谢谢:) – KaeL