ValidationSettings.EnableCustomValidation Property
Gets or sets a value that specifies whether an error frame should be rendered on the client side when you implement a custom validation.
Namespace: DevExpress.Web
Assembly: DevExpress.Web.v24.2.dll
Declaration
Property Value
Type | Default | Description |
---|---|---|
Boolean | false |
|
Property Paths
You can access this nested property as listed below:
Object Type | Path to EnableCustomValidation |
---|---|
ASPxEdit |
|
EditProperties |
|
Remarks
An error frame is automatically rendered on the client side in the following situations.
- The ASPxClientEdit.Validation or ASPxEdit.Validation event is handled.
- The ValidationSettings.RequiredField or ValidationSettings.RegularExpression property is specified.
- The ASPxEdit.IsValid property is initially set to
false
Otherwise, being unnecessary, the error frame is not rendered to the client side.
However, in some scenarios, you need to perform the editor’s the entire validation yourself, without using any predefined validation capabilities. In these cases, set the EnableCustomValidation property to true
to force the editor to render the error frame to the client side.
Example
The code sample below implements custom validation without using any predefined validation capabilities. Note that you should set the ValidationSettings.EnableCustomValidation
property to true
to show an error frame.
function OnAgeValidation(s, e) {
var age = tbAge.GetText();
if (age == null || age == "")
return;
var digits = "0123456789";
for (var i = 0; i < age.length; i++) {
if (digits.indexOf(age.charAt(i)) == -1) {
tbAge.SetIsValid(false);
break;
}
}
if (tbAge.GetIsValid() && age.charAt(0) == '0') {
age = age.replace(/^0+/, "");
if (age.length == 0)
age = "0";
tbAge.SetText(age);
}
if (age < 18) {
tbAge.SetIsValid(false);
tbAge.SetErrorText('Age must be greater than or equal 18');
}
}
<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Width="170px" ClientInstanceName="tbAge">
<ValidationSettings ValidateOnLeave="False" EnableCustomValidation="True">
</ValidationSettings>
</dx:ASPxTextBox>
<dx:ASPxButton ID="btnValidate" runat="server" AutoPostBack="False" Text="Validate">
<ClientSideEvents Click="OnAgeValidation" />
</dx:ASPxButton>