we could definitely add some clarity to the FME user documentation on the GeometryValidator - which simply refers to the OGC simple feature specification: http://www.opengeospatial.org/standards/sfa
FME uses geos (based on the Java Topology Suite) and this has the operators:
isSimple:
http://www.tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/operation/IsSimpleOp.html
isValid:
http://www.tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/operation/valid/IsValidOp.html
_____________________________________________________________
isSimple Checks for OGC simple (taken from geosdll_api_geom.h::isSimpleWithInfo):
if multipoint, check for repeated points
if anything else, check for self-intersection
_____________________________________________________________
isValid Checks for OGC valid (taken from isValidOp.cpp::checkValid):
if point, check for Invalid Coords
if lineString, check for Invalid Coords, too-few-points,
if linearRing, check for Invalid Coords, closed rings, too-few-points, self-intersecting rings
if polygon, check for Invalid Coords, closed rings, too-few-points, consistent areas (intersecting or duplicate rings), self-intersecting rings, holes in shell, nested holes, connected interior
if multiPolygon, similar to polygons, but also checks if polygons intersect each other
if GeometryCollection, break apart, the check based on geometry type