Problema com validação em Struts 2

Olá!!

Na minha tela de login eu consigo fazer a validação normalmente!

mas dentro da área do usuário, tem a área de cadastro de alunos.

A pessoa clica em cadastrar Alunos, e o formulário que está em outra página é carregado para a tag sx:div que está na área do usuário.

O problema é que ao tentar salvar com os campos errados, pra testar a validação, as mensagens de validação não aparecem.

o nome do xml com as validações está igual ao nome do action que eu chamo.

Por que isso está acontecendo?

tela da área do usuário: main.jsp

 <%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="css/posicionamento.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<sx:head/>
<script type="text/javascript">
	function showSubMenu(menu) {
	  document.getElementById(menu).style.visibility = 'visible';
 	}
	function hideSubMenu() {
		
		  document.getElementById('subMenu1').style.visibility = 'hidden';
	 	}
</script>
</head>
<body>
	<div id="logout">
		<s:url id="sair" action="sair">
			<s:param name="sair">sair</s:param>
		</s:url>
		<s:a href="%{sair}"><s:text name="mainArea.logout" /></s:a><br />
	</div>
<s:if test="%{'language.chose'} == Português">
	<s:property value="pessoa.idtipo.nome" />
</s:if>
<s:elseif test="%{'language.chose'} == English">
	<s:property value="pessoa.idtipo.name" />
</s:elseif>

<hr id="linha" noshade="noshade" onmouseover="hideSubMenu()" />
<div  id="menu" style="background-image: url('images/fundo_menu.png');
	background-repeat: repeat;">
	<table border="0">
		<tr>
			<td width="100px">
				<sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu1')">
					<s:property value="%{getText('menu.1')}" />
				</sx:a>
			</td>
			<td width="100px">
				<sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu2')">
					<s:property value="%{getText('menu.2')}" />
				</sx:a>
			</td>
			<td width="100px">
				<sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu3')">
					<s:property value="%{getText('menu.3')}" />
				</sx:a>
			</td>
		</tr>
	</table>
</div>

<div id="subMenu1" style="background-image: url('images/fundo_menu.png');
	background-repeat: repeat;">
	<table border="0">
		<tr>
			<td>
			    <s:url id="cadastrarAluno" action="telaCadastrarAluno" />
				<sx:a cssClass="link_menu" href="%{cadastrarAluno}" targets="conteudo" onclick="hideSubMenu()">
					<s:property value="%{getText('menu.1.1')}" />
				</sx:a>
			</td>
		</tr>
		<tr>
			<td>
			    <s:url id="pesquisarAluno" action="pesquisarAluno" />
				<sx:a cssClass="link_menu" href="%{pesquisarAluno}" targets="conteudo" onmouseout="hideSubMenu()">
					<s:property value="%{getText('menu.1.2')}" />
				</sx:a>
			</td>
		</tr>
	</table>
</div>


<div id="pesquisar" style="border-color: navy; border: thin;">
	<s:form id="pesquisa">
	<s:property value="getText('textfield.submit')"/>
	<s:radio name="opcao" list="pesquisa" key="comboBox.by"/>
	<s:textfield name="expressao" size="30" key="textField.name" />
    <sx:submit formId="pesquisa" key="textfield.execute" />
	</s:form>
</div>

<s:div id="conteudo" /> <!-- Aqui que será carregado o formulário -->
</body>
</html>

cadastro que será incluso: cadastrarAluno.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<s:form id="cadastrarAluno" action="cadastrarAluno" validate="true">
		   	<s:textfield key="label.user"  name="pessoa.usuario" required="true" maxlength="20" size="20" />
		   	<s:password key="label.password" name="pessoa.senha" required="true" maxlength="20" size="20" />
		   	<s:password key="label.confirmPassword" name="pessoa.senha" required="true" maxlength="20" size="20" />
			<s:textfield key="label.bornDate" name="pessoa.nascimento" required="true" />
		   	<s:textfield key="label.email" name="pessoa.email" maxlength="40" size="40" />
		
		   	<sx:submit formId="cadastrarAluno" key="button.save" align="right" />
</s:form>

	<s:actionerror cssStyle="color:red" />
<sx:a cssClass="linkNextButton" href="cadastroAlunoPasso2" targets="conteudo"><img class="imageNextButton" src="images/arrowRight.png" /></sx:a>

CadastroAlunoAction-validation.xml

<!DOCTYPE validators PUBLIC  
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"  
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> 
 
<validators> 
    <field name="pessoa.nascimento">
        <field-validator type="required"> 
            <message>%{getText('validation.required')}</message> 
        </field-validator>
        <field-validator type="stringlength"> 
            <param name="minLength">10</param> 
            <param name="trim">true</param>
            <message>%{getText('login.error.txtFieldUser.maxCaracter')}</message>
        </field-validator>
        <field-validator type="date"> 
            <message>%{getText('validation.date')}</message> 
        </field-validator>
    </field>
    <field name="pessoa.email">
        <field-validator type="email">
            <message>%{getText('validation.email')}</message>
        </field-validator>
    </field>
</validators> 

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.custom.i18n.resources" value="language" />
    
    <package name="default" extends="struts-default">
 	<!-- criando uma pilha de interceptadores que é pilha "defaultStack" + o interceptador que criamos -->  
        <interceptors>
            <interceptor name="authorizationInterceptor" class="br.com.esporte.interceptadores.AuthorizationInterceptor" />
            
            <interceptor name="locale" class="br.com.esporte.interceptadores.LocaleInterceptor" />
              
            <interceptor-stack name="gujStack">  
                <interceptor-ref name="locale"/>  
                <interceptor-ref name="defaultStack"/>  
        	</interceptor-stack>  
        </interceptors>
        
        <default-interceptor-ref name="gujStack"/>
<!--    	<default-action-ref name="main" />-->
    	
        <action name="main">
            <result>pages/main.jsp</result>
        </action>
        
        <action name="changeLanguage">
            <result>index.jsp</result>
        </action>
        
        <action name="sair" method="sair" class="br.com.esporte.action.SecurityAction">
        	<interceptor-ref name="authorizationInterceptor" />
            <result type="redirectAction">main</result>
        </action>

        <action name="logar" method="logar" class="br.com.esporte.action.SecurityAction">
            <result name="adm" type="chain">adm</result>
            <result name="prf" type="chain">prf</result>
            <result name="aln" type="chain">aln</result>
            <result name="input">pages/main.jsp</result>
            <result name="error">pages/main.jsp</result>
        </action>
        
        <action name="adm">
        	<interceptor-ref name="authorizationInterceptor" />
            <result>safeArea/adm/main.jsp</result>
            <result name="input">pages/main.jsp</result>
        </action>
        
        <action name="telaCadastrarAluno">
        	<interceptor-ref name="authorizationInterceptor" />
            <result>safeArea/cadastrarAluno.jsp</result>
            <result name="input">pages/main.jsp</result>
        </action>
        
        <action name="cadastrarAluno" method="cadastrarAluno" class="br.com.esporte.action.CadastroAlunoAction">
        	<interceptor-ref name="authorizationInterceptor" />
            <result>safeArea/cadastrarAluno.jsp</result>
            <result name="input">safeArea/adm/main.jsp</result>
        </action>
        
        <action name="prf">
        	<interceptor-ref name="authorizationInterceptor" />
            <result>safeArea/prf/main.jsp</result>
            <result name="input">pages/main.jsp</result>
        </action>
        
        <action name="aln">
        	<interceptor-ref name="authorizationInterceptor" />
            <result>safeArea/aln/main.jsp</result>
            <result name="input">pages/main.jsp</result>
        </action>
        
    </package>
</struts>