Different ways of using seam s:decorate and s:validate – Sample are based on Seamgen based applications.

  1. <s:decorate> without template attribute and with <s:validateAll>, requiredMessage, validateLength samples.

    <s:decorate>

    <s:validateAll>

    <div class=”prop”>

    <s:label id=”editLabel” styleClass=”#{invalid?’errors’:”}”>

      created by

      <s:span styleClass=”required” rendered=”true”>*</s:span>

      </s:label>

    <span id=”editSpan” class=”#{invalid?’errors’:”}”>

      invalid value > #{invalid}

    <ice:inputText id=”createdById” requiredMessage=”This field value is required.” partialSubmit=”true” size=”100″ maxlength=”130″ value=”#{userHome.instance.createdBy}”>

      <f:validateLength maximum=”5″ minimum=”1″ />

      </ice:inputText>

      </span>

      <s:message styleClass=”error errors” />

      </div>

      </s:validateAll>

      </s:decorate>

 

Note: The reason being used s:decorate is that #{invalid} and #{required} are available inside s:decorate; #{required} evaluates to true if you have set the input component being decorated as required, and #{invalid} evaluates to true if a validation error occurs.

 

 

  1. <s:decorate> without template attribute and <s:validateAll>, validateLength and with only required=”true” also work!!!.

 

<s:decorate>

<div class=”prop”>

<s:label id=”editLabel” styleClass=”#{invalid?’errors’:”}”>

  created by

  <s:span styleClass=”required” rendered=”true”>*</s:span>

  </s:label>

<span id=”editSpan” class=”#{invalid?’errors’:”}”>

  invalid value > #{invalid}

<ice:inputText id=”createdById” requiredMessage=”This field value is required.” partialSubmit=”true” required=”true” size=”100″ maxlength=”130″ value=”#{featureSetHome.instance.createdBy}”>

  </ice:inputText>

  </span>

  <s:message styleClass=”error errors” />

  </div>

  </s:decorate>

 

 

  1. With just <s:decorate>, required=”true”, s:message and without requiredMessage attribute.

    <s:decorate>

    <div class=”prop”>

    <s:label id=”editLabel” styleClass=”#{invalid?’errors’:”}”>

      created by

      <s:span styleClass=”required” rendered=”true”>*</s:span>

      </s:label>

    <span id=”editSpan” class=”#{invalid?’errors’:”}”>

      invalid value > #{invalid}

    <ice:inputText id=”createdById” partialSubmit=”true” required=”true” size=”100″ maxlength=”130″ value=”#{featureSetHome.instance.createdBy}”>

      </ice:inputText>

      </span>

      <s:message styleClass=”error errors” />

      </div>

      </s:decorate>

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.