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.v19.1.dll
Declaration
Property Value
Type | Default | Description |
---|---|---|
Boolean | **false** | true to render an error frame; otherwise, false. |
Property Paths
You can access this nested property as listed below:
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 demonstrates how you can perform a custom validation without using any predefined validation capabilities. Note that in this case, the ValidationSettings.EnableCustomValidation
property should be set 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>