Skip to main content

Advanced options

The phone verification JavaScript widget is highly customisable to suit your needs. The installation instructions should allow you to get started quickly. Once this is done, you can further tweak the widget's behaviour using the options below.

Attributes

There are three attributes that can be customised. These are: countryNotAllowed, nonMobile, and unverified. For each of these, you are able to set a rule and a message. See the API docs for a definition for these attributes.

There are three rules you can pick from:

  • allow will trigger the widget to show a green tick, and no error message.
  • warn will trigger the widget to show an orange warning icon, and an error message.
  • block will trigger the widget to show a red cross, and an error message. It will also prevent the user from submitting the form.

When using warn or block you can also provide a customised message.

Custom rules and messages

Below is an example of the rules that can be used to customise the widget:

rules: {
unverified: {
rule: "block",
message: false
},
nonMobile: {
rule: "warn",
message: "We would prefer a mobile phone number."
},
countryNotAllowed: {
rule: "allow"
}
}

Note: Both the rules and messages are optional and configurable so can be customised to suit your needs.

Removing the rule will result in the default rule being applied.

Removing the message line will result in the default message being displayed when the rule is enforced.

Setting message: false will result in no message being displayed when the rule is enforced.

Default rules

In the absence of a specified rule, the following defaults are applied:

rules: {
unverified: {
rule: "block"
},
nonMobile: {
rule: "allow"
},
countryNotAllowed: {
rule: "block"
}
}

Default responses

In the absence of a supplied message, the following default messages will be returned when the response matches the rules (supplied or default):

ResponseDefault warn messageDefault block message
unverified"Phone number not verified.""Phone number not verified."
countryNotAllowed"Preferred countries: {LIST}""Allowed countries: {LIST}"
nonMobile"Mobile phone numbers preferred.""Mobile phone numbers required."

Custom styling

Our Javascript widget includes a stylesheet that defines the visual aspects of the icons and messages that are displayed. You may decide to adjust the colours or fonts used to more closely match the branding of the page in which the widget is embedded. This can be done easily by overriding the default styles that are included in the file.

You can inspect the styles here (tip: use an online beautifier to make it easier to read) and then define your own CSS rules to override the default styles.

View a code example, where we use the Phone Widget with a different colour for the message.

Here is an example of the html elements that are included in the DOM:

<span class="af-pv-icon-block af-pv-icon" style="top: 768.943px; left: 632.458px; height: 26.5px; width: 26.5px;"></span>
<span class="af-pv-message" aria-live="polite" style="left: 270px; top: 811.484px; width: 400px; display: inline-block;">It looks like there could be a problem with this phone number. You must enter a correct phone number</span>

Using a country select field

The widget can be configured to watch a country field and apply the selected country to the query. This significantly improves verification outcomes on forms being completed by people from more than one country.

View this code example demonstrating the use of the country select field.

Working inside a modal

Because modals are usually static in the context of the page, it is recommended when initialising the widget to provide a Node to the container option. This option takes an HTML Node that will be used as a basis for the HTML injected by the widget. As such, positioning of our loading indicator and feedback message to the user will still work as expected. An example of how to use the container option can be found here.