Skip to main content

Notifications

Community site session details

Community site session details

Session Id :

AX 7 : Validating events on form data sources and form data source fields

Vignesh.A Profile Picture Vignesh.A 203
Validation events on form data source (FormDataSourceEventType) and form data source fields (FormDataFieldEventType) now support invalidating user-specified values. 
The following example illustrates this feature. The example uses a form named MyForm that contains a data source named abTable, and a field named FieldInt1.

public class abFormEvent
{
/// <summary> /// Disallows inserting records on the form data source if the Field1 field contains the integer value 1 /// </summary> [FormDataSourceEventHandler(formDataSourceStr(MyForm, abTable), FormDataSourceEventType::ValidatingWrite)] public static void abTable_OnValidatingWrite(FormDataSource sender, FormDataSourceEventArgs e) { var datasource = sender as FormDataSource; var args = e as FormDataSourceCancelEventArgs; if (args != null && datasource != null) { var record = datasource.cursor() as abTable; if (record.recId == 0) { if (record.FieldInt1 == 1) { boolean doCancel = !checkFailed("Value 1 is not allowed"); args.cancel(doCancel); } } } } /// <summary> /// Disallow changing the Field1 value on the form data source field,if the Field1 value contains 10 /// </summary> [FormDataFieldEventHandler(formDataFieldStr(MyForm,abTable,FieldInt1),FormDataFieldEventType::Validating)] public static void FieldInt1_OnValidating(FormDataObject sender,FormDataFieldEventArgs e) { var dataObject = sender as FormDataObject; var args = e as FormDataFieldCancelEventArgs; if (args != null && dataObject != null) { var datasource = dataObject.datasource() as FormDataSource; if (datasource != null) { var record = datasource.cursor() as abTable; if (record.RecId > 0) { if (record.FieldInt1 == 10) { boolean doCancel =!checkFailed("Value 10 not allowed"); args.cancel(doCancel); } } } } } }


This was originally posted here.

Comments

*This post is locked for comments