DataFormView.ValidateProperty Event
Allows you to validate a specific data editor on the form.
Namespace: DevExpress.XamarinForms.DataForm
Assembly: DevExpress.XamarinForms.Editors.dll
NuGet Package: DevExpress.XamarinForms.Editors
Declaration
public event DataFormPropertyValidationEventHandler ValidateProperty
Event Data
The ValidateProperty event's data class is DataFormPropertyValidationEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
CurrentValue | Gets or sets the current value of the data field that is about to be updated. |
ErrorText | Gets or sets the error message displayed below the editor on the data form. |
HasError | Gets or sets whether the new value is valid. |
NewValue | Gets the new value that should be validated. |
PropertyName | Gets the name of the processed data field (property). |
Remarks
You can handle the following events to validate user input:
ValidateProperty
—allows you to validate a specific field on the form. Use the PropertyName event argument to determine the processed data field. The CurrentValue and NewValue arguments specify the current data field value and the value that should be validated. If the new value is not valid, set the HasError argument to true and use the ErrorText argument to notify the user about the error.- ValidateForm—allows you to validate all data fields on the form. This event stores new values and error messages in dictionaries, where keys are data field names.
See the following topic for more information: Validate User Input in Data Form View for Xamarin.Forms.
Example
The code below shows how to ensure that a password contains at least 8 characters and includes uppercase and lowercase characters, numbers, and special characters.
using DevExpress.XamarinForms.DataForm;
// ...
public partial class MainPage : ContentPage {
public MainPage() {
InitializeComponent();
dataForm.DataObject = new PersonalInfo();
dataForm.ValidateProperty += dataForm_ValidateProperty;
}
private void dataForm_ValidateProperty(object sender, DataFormPropertyValidationEventArgs e) {
if (e.PropertyName == "Password") {
var regex = new Regex(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})");
if (!regex.IsMatch(e.NewValue.ToString())) {
e.HasError = true;
e.ErrorText = "The password must contain at least 8 characters " +
"including uppercase, lowercase, numbers, and special characters.";
}
}
}
}