Validates any number of attributes against user-defined test conditions, routing the feature according to the outcome of the test(s) and identifying any tests it has failed.

Jump to Configuration

Typical Uses

  • Performing data quality testing
  • Enforcing data integrity by testing attributes against a set of acceptable conditions
  • Ensuring attributes meet the requirements of constraints and domains in output databases

How does it work?

The AttributeValidator receives features with attributes to be tested against user-defined Validation Rules.

A wide variety of Validation Rule types are available. The rules are created in a table, and each row consists of the attribute(s) to be validated, the type of test to be done, and any configuration required. An attribute may be tested against any number of rules, and a rule may be applied to any number of attributes.

There are two output ports - Passed and Failed.

Passed features are those whose attributes have passed all Validation Rule tests that have been defined.

If any tests are failed, the features will be output via the Failed port, with descriptions of the failures:

  • The first test failed will be documented in the new attribute _fme_validation_message.
  • The first test and any further tests failed will all be documented in the new list attribute _fme_validation_message_list{}.

Tests are evaluated in the order they are listed in the Validation Rules table in the parameters dialog.

Creating Validation Rules

Each rule consists of the attributes to be tested and the test to be performed. The following tests are available.


Usage Notes

  • Output feature order may be controlled with the Advanced > Preserve Feature Order parameter.


Input Ports

Output Ports


Editing Transformer Parameters

Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.

Defining Values

There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.

Dialog Options - Tables

Transformers with table-style parameters have additional tools for populating and manipulating values.


Processing Behavior


Feature Holding


Dependencies None
Aliases AttributeClassifier, StringClassifier
History This transformer replaced the AttributeClassifier transformer.

FME Community

The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.

Search for all results about the AttributeValidator on the FME Community.


Examples may contain information licensed under the Open Government Licence – Vancouver and/or the Open Government Licence – Canada.