通过Javascript验证消息
本文关键字:消息 验证 Javascript 通过 | 更新日期: 2023-09-27 18:29:33
我有一个问题。选中复选框时如何禁用验证。我试过ValidatorEnable(control,false),它对我不起作用。
<dxe:BaseCheckBox runat ="server" ID="chkIsChecked" ClientInstanceName ="chkIsChecked">
<ClientSideEvents CheckedChanged="OnSelectionChanged"/>
</dxe:BaseCheckBox>
<dxe:BaseComboBox runat ="server" ID="cboLabour" ClientInstanceName ="cboLabour" ValueType="System.String" ClientEnabled="false" >
<ValidationSettings SetFocusOnError="True" ErrorText="This field is required to fill."
ErrorDisplayMode="ImageWithTooltip" ValidationGroup="RejectReason"
CausesValidation="false">
<RequiredField IsRequired="True" ErrorText="This field is required to fill.">
</RequiredField>
</ValidationSettings>
</dxe:BaseComboBox>
我的Javascript:
function OnSelectionChanged(s,e)
{
if(chkIsChecked.GetValue())
{
cboLabour.SetEnabled(true);
}
else
{
cboLabour.SetEnabled(false);
cboLabour.SetValue('');
}
}
谢谢你的建议。
function OnLabouryValidation(s, e) {
if (chkIsChecked.GetValue())
return;
var v = e.value;
if(e.value)
return;
e.isValid = false;
e.errorText = "Required.";
}
这里有关于自定义验证的"文档",但在我的快速阅读中,还不清楚如何将其连接起来。
http://documentation.devexpress.com/#AspNet/CustomDocument11135
正如我从您的问题中发现的那样,您正在寻找组验证:
首先在ValidationSettings中设置ValidateOnLeave="False",并为控件指定验证组名称,然后使用客户端ASPxClientEdit.ValidateGroup('MyGroup');
方法根据您的要求进行一些自定义来验证您的控件组。
标记:
<dxe:BaseCheckBox runat ="server" ID="chkIsChecked" ClientInstanceName ="chkIsChecked">
<ClientSideEvents CheckedChanged="OnSelectionChanged"/>
</dxe:BaseCheckBox>
<dxe:BaseComboBox runat ="server" ID="cboLabour" ClientInstanceName ="cboLabour" ValueType="System.String" ClientEnabled="false" >
<ValidationSettings SetFocusOnError="True" ErrorText="This field is required to fill."
ErrorDisplayMode="ImageWithTooltip" ValidationGroup="RejectReason"
ValidateOnLeave="False">
<RequiredField IsRequired="True" ErrorText="This field is required to fill.">
</RequiredField>
</ValidationSettings>
</dxe:BaseComboBox>
<dx:ASPxButton ID="btn" runat="server" Text="Validate"
AutoPostBack="False" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {
if (chkIsChecked.GetValue()) // if checked then validate the group
{
ASPxClientEdit.ValidateGroup('RejectReason');
}
}" />
</dx:ASPxButton>
遵循这些文档并实现您尝试执行的任何操作。
如何:验证一组编辑器
如何:验证页面上的所有编辑器
如何:实施自定义验证
ASPxClientEdit。Validation Event