Spry

Display error messages

 Create a span tag (or any other type of tag) to display the error message, and assign the appropriate class to it, as follows:
<span id="spryselect1">
	<select name="select1" id="select1">
		<option>--Please select an item--</option>
		<option value="item1">Item 1</option>
		. . .
	</select>
	<span class="selectRequiredMsg">Please select an item.</span>
</span>

The selectRequiredMsg rule is located in the SpryValidationSelect.css file, and is set to display:none by default. When the widget enters a different state through user interaction, Spry applies the appropriate class—the state class—to the container of the widget. This action affects the error-message class, and by extension, the appearance of the error message.

For example, the following shows a portion of the CSS rule from the SpryValidationSelect.css file:

.selectRequiredMsg, .selectInvalidMsg {
	display: none;
}
.selectRequiredState .selectRequiredMsg,
.selectInvalidState .selectInvalidMsg {
	display: inline;
	color: #CC3333;
	border: 1px solid #CC3333;
}

By default, no state class is applied to the widget container, so that when the page loads in a browser, the error message text in the preceding HTML code example only has the .selectRequiredMsg class applied to it. (The property and value pair for this rule is display:none, so the message remains hidden.) If the user fails to make a selection, however, Spry applies the appropriate class to the widget container, as follows:

<span id="spryselect1" class="selectRequiredState">
	<select name="select1" id="select1">
		<option>--Please select an item--</option>
		<option value="item1">Item 1</option>
		. . .
	</select>
	<span class="selectRequiredMsg">Please select an item.</span>
</span>

In the preceding CSS code, the state rule with the contextual selector .selectRequiredState . selectRequiredMsg overrides the default error-message rule responsible for hiding the error-message text. Thus, when Spry applies the state class to the widget container, the state rule determines the appearance of the widget, and displays the error message inline in red with a 1-pixel solid border.

Following is a list of default error-message classes and their descriptions. You can change these classes and rename them. If you do so, don’t forget to change them in the contextual selector also.

Error message class

Description

.selectRequiredMsg

Causes error message to display when the widget enters the required state

.selectInvalidMsg

Causes error message to display when the widget enters the invalid state

Note: You cannot rename state-related class names because they are hard-coded as part of the Spry framework.