Class StructuredIdentifierValidator
Validates that every caller-supplied field/column identifier used to build a SQL statement is safe to interpolate: letters, digits, and underscores only, not starting with a digit. Identifiers cannot be parameterized like values, so every relational IStructuredStore provider (MySQL, PostgreSQL, SQLite) re-validates every field name against this pattern before it reaches raw SQL text.
Inherited Members
Namespace: Serenity.Persistence.Domain.Services
Assembly: Serenity.Global.Domain.dll
Syntax
public static class StructuredIdentifierValidator
Methods
ValidateFilterIdentifiers(IReadOnlyList<FieldFilter>)
Validates the field name of every filter.
Declaration
public static void ValidateFilterIdentifiers(IReadOnlyList<FieldFilter> filters)
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyList<FieldFilter> | filters |
ValidateIdentifier(string)
Validates a single identifier against the safe-identifier pattern.
Declaration
public static void ValidateIdentifier(string identifier)
Parameters
| Type | Name | Description |
|---|---|---|
| string | identifier |
ValidateIdentifiers(IReadOnlyList<string>)
Validates every identifier in a list.
Declaration
public static void ValidateIdentifiers(IReadOnlyList<string> identifiers)
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyList<string> | identifiers |
ValidateOrderingIdentifiers(IReadOnlyList<OrderField>)
Validates the field name of every ordering entry.
Declaration
public static void ValidateOrderingIdentifiers(IReadOnlyList<OrderField> ordering)
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyList<OrderField> | ordering |
ValidateQueryIdentifiers(StructuredQuery)
Validates every identifier referenced by a query: filters, distinct-by, ordering.
Declaration
public static void ValidateQueryIdentifiers(StructuredQuery query)
Parameters
| Type | Name | Description |
|---|---|---|
| StructuredQuery | query |
ValidateRecordIdentifiers(StructuredRecord)
Validates every field name in a record.
Declaration
public static void ValidateRecordIdentifiers(StructuredRecord record)
Parameters
| Type | Name | Description |
|---|---|---|
| StructuredRecord | record |
ValidateSchemaIdentifiers(StructuredTableSchema)
Validates every field and index field name in a table schema.
Declaration
public static void ValidateSchemaIdentifiers(StructuredTableSchema schema)
Parameters
| Type | Name | Description |
|---|---|---|
| StructuredTableSchema | schema |
ValidateTrimIdentifiers(StructuredTrim)
Validates every identifier referenced by a trim: scope filters and ordering.
Declaration
public static void ValidateTrimIdentifiers(StructuredTrim trim)
Parameters
| Type | Name | Description |
|---|---|---|
| StructuredTrim | trim |