我正在使用最新的DevEx Asp.net控件。在我的一个页面中,我有一个包含AspxLabels和AspxTextBoxes的表单。在某些文本框中,我有一个必需的字段验证。单击时,页面上还有2个复选框,它们使用来自服务器的数据填充某些文本框。
以下是问题发生的时间。
如果单击任何复选框,我会将从服务器设置的所有文本框设置为空字符串。然后我设置数据。
如果其中一个必填字段已有某些数据,则在选中复选框时将其设置为空字符串会导致客户端验证启动,服务器调用将无法获取数据。
有没有人知道如何处理和解决这个问题?
答案 0 :(得分:1)
根据您的描述(aspx会更清楚),您应该将ValidationSettings.ValidateOnLeave设置为false并手动验证编辑器。
以下是devex代码中心文章的示例:
<input type="button" value="Validate" onclick="tbTextBox2.Validate();" />
<dx:ASPxTextBox ID="tbTextBox2" runat="server" ClientInstanceName="tbTextBox2">
<ValidationSettings ValidateOnLeave="False">
<RequiredField IsRequired="True" ErrorText="Field is required." />
</ValidationSettings>
</dx:ASPxTextBox>
有关在客户端验证表单编辑器的各种方法,请阅读How to raise validation on the client side。