---
title: SAIFWebMaskEdit
summary: API reference for SAIFWebMaskEdit.
status: draft
owner: SAIF Documentation Team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.Infragistics103
reference_type: package
---

# SAIFWebMaskEdit

`SAIFWebMaskEdit` wraps the Infragistics `WebMaskEdit` control to add two read-only accessors, `PhoneValue` and `TaxIdValue`, that return cleaned string values instead of the raw masked text a consuming page would otherwise have to parse itself. `PhoneValue` strips a dangling phone-extension marker with no digits after it ([BR-2](../../business-rules.md#br-2-dangling-phone-extension-marker-stripped)), and both accessors return an empty string rather than mask placeholder characters when the field was left untouched ([BR-3](../../business-rules.md#br-3-empty-masked-field-returns-empty-string)). Consuming code reads these properties server-side after postback rather than relying on client-side script.

## Purpose
- Provide a cleaned phone-number value that omits a dangling extension marker when no extension digits were entered ([BR-2](../../business-rules.md#br-2-dangling-phone-extension-marker-stripped)).
- Provide a cleaned tax-ID value, and ensure both accessors return empty string (not mask placeholder text) for an untouched field ([BR-3](../../business-rules.md#br-3-empty-masked-field-returns-empty-string)).

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2`
- Assembly/package: `SAIF.BOF.Presentation.Web.Infragistics103` (source bundled into this package)*

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `PhoneValue` | `Public ReadOnly Property PhoneValue As String` | Returns the cleaned phone number, stripping the trailing extension marker when no extension digits follow it, or empty string for an untouched field; see [SAIFWebMaskEdit value accessors](../../operations/saifwebmaskedit-value-accessors.md). |
| `TaxIdValue` | `Public ReadOnly Property TaxIdValue As String` | Returns the raw tax-ID text, or empty string for an untouched field ([BR-3](../../business-rules.md#br-3-empty-masked-field-returns-empty-string)). |
| `PHONE_EXT` | `Public Const PHONE_EXT As String = "x"` | The literal extension-marker character `PhoneValue` checks for when deciding whether to strip a dangling extension indicator. |

## Inherited public members

Members in this section are inherited from `Infragistics.WebUI.WebDataInput.WebMaskEdit`, the Infragistics v10.3 vendor base class this control wraps.

| Member | Signature | Purpose |
| --- | --- | --- |
| `RawText` | `Public ReadOnly Property RawText As String` | The unformatted raw text entered into the mask, including any mask placeholder characters; read by both `PhoneValue` and `TaxIdValue` (via `RawText.Trim.Length`) to detect an untouched field. |
| `Text` | `Public Overridable Property Text As String` | The mask-formatted display text of the control's current value; read by `PhoneValue`'s getter (via `Text.Trim`) to build the returned phone string, and returned directly by `TaxIdValue` when the field is non-empty. |
| `EditMask` | `Public Property EditMask As String` | The Infragistics input mask pattern applied to the control (for example, a phone or tax-ID format mask). |
| `PromptChar` | `Public Property PromptChar As Char` | The placeholder character Infragistics displays for unfilled mask positions; the character `PhoneValue`/`TaxIdValue` are designed to avoid returning for an untouched field. |
| `ClientID` | `Public ReadOnly Property ClientID As String` (from `System.Web.UI.Control`) | The rendered client-side element ID of the control. |

## Behavioral notes
- `PhoneValue` catches `System.Data.StrongTypingException` and returns empty string on that specific error path rather than propagating the exception.
- Both accessors first check `RawText.Trim.Length = 0` to detect an untouched field before doing any further parsing.

## Constraints and usage notes
- Version-coupled to `Infragistics35.WebUI.WebDataInput.v10.3` (version `10.3.20103.2120`).
- These are server-side property getters read by consuming code after postback — unlike the other three types in this library, no client-side script is registered.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- SAIF.Presentation.Web.Controls.Infragistics103\SAIFWebMaskEdit.vb
