# Change Text Field spellcheck rights and wrongs

**URL:** <https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689>\
**Category:** Ignition\
**Tags:** perspective, ignition81\
**Created:** [March 14, 2025, 10:47am UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689 "2025-03-14T10:47:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmadariaga](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmadariaga/32/63201_2.png) [@mmadariaga](https://forum.inductiveautomation.com/u/mmadariaga)\
**Post date:** [March 14, 2025, 10:47am UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/1 "2025-03-14T10:47:46Z")

</div>

The [Text Field](https://www.docs.inductiveautomation.com/docs/8.1/appendix/components/perspective-components/perspective-input-palette/perspective-text-field) component includes a spellcheck option. I'd like to know if it's possible to customize the validation criteria by modifying or replacing the list of correct and incorrect words used for the red underline. For instance, if a user types any word that is not in ['start', 'end'], it should be marked as incorrect.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 14, 2025, 10:59am UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/2 "2025-03-14T10:59:46Z")

</div>

No, the spellcheck option is an instruction to the browser to do a standard spellcheck using the browser locale to establish the language.

If you examine the component using your browser's development tools you'll notice the `spellcheck = "true" directive.

`<input class="ia_inputField text-field popup-not-draggable" type="text" data-component="ia.input.text-field" data-component-path="C.0:53" placeholder="" spellcheck="true" value="" style="position: absolute; left: 808px; top: 561px; width: 150px; height: 32px;" data-dashlane-rid="9f697aeca88c3c34" data-dashlane-classification="other">`

For your requirement you would have to write code, but it seems like a perfect application for a dropdown or even a radio group.

---

<div class="post-metadata">

**Author:** ![mmadariaga](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmadariaga/32/63201_2.png) [@mmadariaga](https://forum.inductiveautomation.com/u/mmadariaga)\
**Post date:** [March 14, 2025, 11:54am UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/3 "2025-03-14T11:54:16Z")

</div>

Oh okay... I want to use it to check if a string of a formula is correctly built (only allow +, -, \*, /, functions, variables...), so I'll have to find another way.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 14, 2025, 2:32pm UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/4 "2025-03-14T14:32:43Z")

</div>

In 8.3, the form component will allow you to provide a `pattern` input that will be validated on the frontend, much like the spellcheck attribute works:

> **[HTML attribute: pattern - HTML: HyperText Markup Language | MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern)**
>
> The pattern attribute specifies a regular expression the form control's value should match. If a non-null value doesn't conform to the constraints set by the pattern value, the ValidityState object's read-only patternMismatch property will be true.

Until then, I'm not aware of any existing/available Perspective component that offers this functionality, though it might be possible in some way with one of @bmusson's modules?

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [March 14, 2025, 2:59pm UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/5 "2025-03-14T14:59:12Z")

</div>

Possible? - Yes  
Sane? - No

---

<div class="post-metadata">

**Author:** ![mmadariaga](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmadariaga/32/63201_2.png) [@mmadariaga](https://forum.inductiveautomation.com/u/mmadariaga)\
**Post date:** [March 17, 2025, 4:10pm UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/6 "2025-03-17T16:10:55Z")

</div>

Thanks! I can definitely wait until then 😀

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [March 17, 2025, 4:16pm UTC](https://forum.inductiveautomation.com/t/change-text-field-spellcheck-rights-and-wrongs/103689/7 "2025-03-17T16:16:02Z")

</div>

Actually, there’s now a sane way to add the `pattern` property in Periscope.

> [@Musson Industrial's Embr-Periscope Module](https://forum.inductiveautomation.com/t/musson-industrials-embr-periscope-module/99047/22):
>
> Sure: Use Case 1, Component Modification Adding extra buttons to the bottom of a tag browse tree. Adding extra buttons to the header of an alarm table. Assigning a pattern to an input text field (this example assigns a pattern that requires a PIN of exactly 4 numbers.play_button View JSON Use Case 2, Inverted Rendering This example uses a Portal to break out of the normal rendering structure in order to simplify view development. Here's the problem statement: There is a main vie…

With the `events.target.lifecycle.onMount` callback of the Portal component, you’re given a reference to the target DOM element, on which you can set the pattern property.
