# `GSGlyph validateName:`

*Instance Method*

Checks whether a glyph name can be assigned to the receiver.

## Declaration

```swift
func validateName(_ name: String) -> (any Error)?
```

```objc
- (NSError *) validateName:(NSString *) name;
```

```python
validateName_(name: str) -> NSError
```

## Parameters

- `name` — The proposed glyph name.

## Return Value

An error describing why the name is invalid, or `nil` when the name is valid.

## Discussion

In addition to the name syntax, this checks the glyph information and prevents duplicate names within the font.

## See Also

### Glyph Name

- [`GSGlyph.name`](/Core/GlyphsCore/GSGlyph/name) — The glyph name used within Glyphs.
- [`GSGlyph setName:changeName:`](/Core/GlyphsCore/GSGlyph/setName:changeName:) — Assigns a glyph name and updates related glyph information.
- [`GSGlyph setName:changeName:update:validate:`](/Core/GlyphsCore/GSGlyph/setName:changeName:update:validate:) — Assigns a glyph name with control over related updates.
- [`GSGlyph setNameFast:`](/Core/GlyphsCore/GSGlyph/setNameFast:) — Assigns a glyph name without updating related state.
- [`GSGlyph setNameFastCache:`](/Core/GlyphsCore/GSGlyph/setNameFastCache:) — Assigns a glyph name and updates name lookup in the containing font.
- [`GSGlyph.nameUpdate`](/Core/GlyphsCore/GSGlyph/nameUpdate) — The glyph name used within Glyphs, with font references updated when it changes.
- [`GSGlyph setNameUpdate:changeName:`](/Core/GlyphsCore/GSGlyph/setNameUpdate:changeName:) — Assigns a glyph name and updates references to the old glyph name within the font.
- [`GSGlyph ensureValidName:`](/Core/GlyphsCore/GSGlyph/ensureValidName:) — Finds the standard glyph name corresponding to a nonstandard name.
- [`GSGlyph isValidNameString:allowSpaces:error:`](/Core/GlyphsCore/GSGlyph/isValidNameString:allowSpaces:error:) — Checks whether a string follows the glyph name syntax.

