You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Néstor Boscán <ne...@gmail.com> on 2013/09/21 22:45:23 UTC
S2: Not generating javascript validation
Hi
I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6. This
are my files:
LoginAction-validation.xml:
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="username">
<field-validator type="required">
<message>El usuario es requerido</message>
</field-validator>
</field>
<field name="password">
<field-validator type="required">
<message>La contrasenia es requerida</message>
</field-validator>
</field>
</validators>
validators.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Definition 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
<validators>
<validator name="required"
class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring"
class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
<validator name="int"
class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="long"
class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
<validator name="short"
class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
<validator name="double"
class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
<validator name="date"
class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
<validator name="expression"
class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression"
class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email"
class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
<validator name="url"
class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
<validator name="visitor"
class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
<validator name="conversion"
class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength"
class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
<validator name="regex"
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
<validator name="conditionalvisitor"
class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
The form tag has validate="true".
When I generate the login page I get:
<script type="text/javascript">
function validateForm_login() {
var getFieldValue = function(field) {
var type = field.type ? field.type : field[0].type;
if (type == 'select-one' || type == 'select-multiple') {
return (field.selectedIndex == -1 ? "" :
field.options[field.selectedIndex].value);
} else if (type == 'checkbox' || type == 'radio') {
if (!field.length) {
field = [field];
}
for (var i = 0; i < field.length; i++) {
if (field[i].checked) {
return field[i].value;
}
}
return "";
}
return field.value;
}
form = document.getElementById("login");
clearErrorMessages(form);
clearErrorLabels(form);
var errors = false;
var continueValidation = true;
return !errors;
}
</script>
It's like the validation framework is not detecting the fields.
Regards,
Nestor Boscan
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@gmail.com>.
Yes that seems to be the problem. But I have many applications working on
older struts 2 libraries and the dmi + javascript validation worked.
On Sunday, September 22, 2013, JOSE L MARTINEZ-AVIAL <jl...@gmail.com>
wrote:
> Maybe it is not able to match the action name in the form (with the
!login) with the action definition? I would take a look at the source to
see how the match is done.
>
>
> 2013/9/22 Néstor Boscán <ne...@gmail.com>
>>
>> Yes I reenabled DMI but javascript validation is not working when using
DMI. If you use action!method the javascript field validations won't appear.
>>
>> On Sun, Sep 22, 2013 at 2:47 AM, Chris Pratt <th...@gmail.com>
wrote:
>>>
>>> I believe one of the recent changes was to change the default to
disabling
>>> DMI, but you can re-enable it if you understand the risks.
>>> (*Chris*)
>>>
>>>
>>> On Sat, Sep 21, 2013 at 6:20 PM, Néstor Boscán <ne...@gmail.com>
wrote:
>>>
>>> > Hi
>>> >
>>> > <s:form name="login" method="post" action="login!login.action"
>>> > validate="true">
>>> > <s:hidden name="request_id"
value="%{#parameters.request_id}"/>
>>> > <s:textfield name="username" key="username" size="25"
>>> > cssClass="mystyle1"/>
>>> > <s:password name="password" key="password" size="25"
>>> > cssClass="mystyle1"/>
>>> > </s:form>
>>> >
>>> > It looks like this version of Struts 2 doesn't like the Dynamic Method
>>> > Invocation in login!login.action. If I don't use DMI it works. Older
>>> > versions of the framework worked with DMI.
>>> >
>>> > Regards,
>>> >
>>> > Néstor
>>> >
>>> >
>>> > On Sat, Sep 21, 2013 at 5:24 PM, <jl...@gmail.com> wrote:
>>> >
>>> > > Can you provide the jsp snipset for the form?
>>> > > Sent via BlackBerry from T-Mobile
>>> > >
>>> > > -----Original Message-----
>>> > > From: Néstor Boscán <ne...@gmail.com>
>>> > > Date: Sat, 21 Sep 2013 16:15:23
>>> > > To: Struts Users Mailing List<us...@struts.apache.org>
>>> > > Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
>>> > > Subject: S2: Not generating javascript validation
>>> > >
>>> > > Hi
>>> > >
>>> > > I'm using the latest 2.3.15.2 version of struts 2 on weblogic
10.3.6.
>>> > This
>>> > > are my files:
>>> > >
>>> > > LoginAction-validation.xml:
>>> > >
>>> > > <!DOCTYPE validators PUBLIC
>>> > > "-//Apache Struts//XWork Validator 1.0.3//EN"
>>> > > "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
>>> > > <validators>
>>> > > <field name="username">
>>> > > <field-validator type="required">
>>> > > <message>El usuario es requerido</message>
>>> > > </field-validator>
>>> > > </field>
>>> > > <field name="password">
>>> > > <field-validator type="required">
>>> > > <message>La contrasenia es requerida</message>
>>> > > </field-validator>
>>> > > </field>
>>> > > </validators>
>>> > >
>>> > > validators.xml:
>>> > >
>>> > > <?xml version="1.0" encoding="UTF-8"?>
>>> > > <!DOCTYPE validators PUBLIC
>>> > > "-//Apache Struts//XWork Validator Definition 1.0//EN"
>>> > > "
>>> > http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd
>>> > > ">
>>> > > <validators>
>>> > > <validator name="required"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
>>> > > <validator name="requiredstring"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
>>> > > <validator name="int"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
>>> > > <validator name="long"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
>>> > > <validator name="short"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
>>> > > <validator name="double"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
>>> > > <validator name="date"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
>>> > > <validator name="expression"
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
>>> > > <validator name="fieldexpression"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
>>> > > <validator name="email"
>>> > >
class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
>>> > > <validator name="url"
>>> > > class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
>>> > > <validator name="visitor"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
>>> > > <validator name="conversion"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
>>> > > <validator name="stringlength"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
>>> > > <validator name="regex"
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
>>> > > <validator name="conditionalvisitor"
>>> > >
>>> > >
>>> >
class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
>>> > > </validators>
>>> > >
>>> > > The form tag has validate="true".
>>> > >
>>> > > When I generate the login page I get:
>>> > >
>>> > > <script type="text/javascript">
>>> > > function validateForm_login() {
>>> > > var getFieldValue = function(field) {
>>> > > var type = field.type ? field.type : field[0].type;
>>> > > if (type == 'select-one' || type == 'select-multiple') {
>>> > > return (field.selectedIndex == -1 ? "" :
>>> > > field.options[field.selectedIndex].value);
>>> > > } else if (type == 'checkbox' || type == 'radio') {
>>> > > if (!field.length) {
>>> > > field = [field];
>>> > > }
>>> > > for (var i = 0; i < field.length; i++) {
>>> > > if (field[i].checked) {
>>> > > return field[i].value;
>>> > > }
>>> > > }
>>> > > return "";
>>> > > }
>>> > > return field.value;
>>> > > }
>>> > > form = document.getElementById("login");
>>> > > clearErrorMessages(form);
>>> > > clearErrorLabels(form);
>>> > >
>>> > > var errors = false;
>>> > > var continueValidation = true;
>>> > >
>>> > > return !errors;
>>> > > }
>>> > > </script>
>>> > >
>>> > > It's like the validation framework is not detecting the fields.
>>> > >
>>> > > Regards,
>>> > >
>>> > > Nestor Boscan
>>> > >
>>> > >
>>> >
>>
>
>
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@gmail.com>.
Yes I reenabled DMI but javascript validation is not working when using
DMI. If you use action!method the javascript field validations won't appear.
On Sun, Sep 22, 2013 at 2:47 AM, Chris Pratt <th...@gmail.com>wrote:
> I believe one of the recent changes was to change the default to disabling
> DMI, but you can re-enable it if you understand the risks.
> (*Chris*)
>
>
> On Sat, Sep 21, 2013 at 6:20 PM, Néstor Boscán <ne...@gmail.com> wrote:
>
> > Hi
> >
> > <s:form name="login" method="post" action="login!login.action"
> > validate="true">
> > <s:hidden name="request_id" value="%{#parameters.request_id}"/>
> > <s:textfield name="username" key="username" size="25"
> > cssClass="mystyle1"/>
> > <s:password name="password" key="password" size="25"
> > cssClass="mystyle1"/>
> > </s:form>
> >
> > It looks like this version of Struts 2 doesn't like the Dynamic Method
> > Invocation in login!login.action. If I don't use DMI it works. Older
> > versions of the framework worked with DMI.
> >
> > Regards,
> >
> > Néstor
> >
> >
> > On Sat, Sep 21, 2013 at 5:24 PM, <jl...@gmail.com> wrote:
> >
> > > Can you provide the jsp snipset for the form?
> > > Sent via BlackBerry from T-Mobile
> > >
> > > -----Original Message-----
> > > From: Néstor Boscán <ne...@gmail.com>
> > > Date: Sat, 21 Sep 2013 16:15:23
> > > To: Struts Users Mailing List<us...@struts.apache.org>
> > > Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
> > > Subject: S2: Not generating javascript validation
> > >
> > > Hi
> > >
> > > I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6.
> > This
> > > are my files:
> > >
> > > LoginAction-validation.xml:
> > >
> > > <!DOCTYPE validators PUBLIC
> > > "-//Apache Struts//XWork Validator 1.0.3//EN"
> > > "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
> > > <validators>
> > > <field name="username">
> > > <field-validator type="required">
> > > <message>El usuario es requerido</message>
> > > </field-validator>
> > > </field>
> > > <field name="password">
> > > <field-validator type="required">
> > > <message>La contrasenia es requerida</message>
> > > </field-validator>
> > > </field>
> > > </validators>
> > >
> > > validators.xml:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!DOCTYPE validators PUBLIC
> > > "-//Apache Struts//XWork Validator Definition 1.0//EN"
> > > "
> > http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd
> > > ">
> > > <validators>
> > > <validator name="required"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
> > > <validator name="requiredstring"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
> > > <validator name="int"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
> > > <validator name="long"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
> > > <validator name="short"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
> > > <validator name="double"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
> > > <validator name="date"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
> > > <validator name="expression"
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
> > > <validator name="fieldexpression"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
> > > <validator name="email"
> > > class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
> > > <validator name="url"
> > > class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
> > > <validator name="visitor"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
> > > <validator name="conversion"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
> > > <validator name="stringlength"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
> > > <validator name="regex"
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
> > > <validator name="conditionalvisitor"
> > >
> > >
> >
> class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
> > > </validators>
> > >
> > > The form tag has validate="true".
> > >
> > > When I generate the login page I get:
> > >
> > > <script type="text/javascript">
> > > function validateForm_login() {
> > > var getFieldValue = function(field) {
> > > var type = field.type ? field.type : field[0].type;
> > > if (type == 'select-one' || type == 'select-multiple') {
> > > return (field.selectedIndex == -1 ? "" :
> > > field.options[field.selectedIndex].value);
> > > } else if (type == 'checkbox' || type == 'radio') {
> > > if (!field.length) {
> > > field = [field];
> > > }
> > > for (var i = 0; i < field.length; i++) {
> > > if (field[i].checked) {
> > > return field[i].value;
> > > }
> > > }
> > > return "";
> > > }
> > > return field.value;
> > > }
> > > form = document.getElementById("login");
> > > clearErrorMessages(form);
> > > clearErrorLabels(form);
> > >
> > > var errors = false;
> > > var continueValidation = true;
> > >
> > > return !errors;
> > > }
> > > </script>
> > >
> > > It's like the validation framework is not detecting the fields.
> > >
> > > Regards,
> > >
> > > Nestor Boscan
> > >
> > >
> >
>
Re: S2: Not generating javascript validation
Posted by Chris Pratt <th...@gmail.com>.
I believe one of the recent changes was to change the default to disabling
DMI, but you can re-enable it if you understand the risks.
(*Chris*)
On Sat, Sep 21, 2013 at 6:20 PM, Néstor Boscán <ne...@gmail.com> wrote:
> Hi
>
> <s:form name="login" method="post" action="login!login.action"
> validate="true">
> <s:hidden name="request_id" value="%{#parameters.request_id}"/>
> <s:textfield name="username" key="username" size="25"
> cssClass="mystyle1"/>
> <s:password name="password" key="password" size="25"
> cssClass="mystyle1"/>
> </s:form>
>
> It looks like this version of Struts 2 doesn't like the Dynamic Method
> Invocation in login!login.action. If I don't use DMI it works. Older
> versions of the framework worked with DMI.
>
> Regards,
>
> Néstor
>
>
> On Sat, Sep 21, 2013 at 5:24 PM, <jl...@gmail.com> wrote:
>
> > Can you provide the jsp snipset for the form?
> > Sent via BlackBerry from T-Mobile
> >
> > -----Original Message-----
> > From: Néstor Boscán <ne...@gmail.com>
> > Date: Sat, 21 Sep 2013 16:15:23
> > To: Struts Users Mailing List<us...@struts.apache.org>
> > Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
> > Subject: S2: Not generating javascript validation
> >
> > Hi
> >
> > I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6.
> This
> > are my files:
> >
> > LoginAction-validation.xml:
> >
> > <!DOCTYPE validators PUBLIC
> > "-//Apache Struts//XWork Validator 1.0.3//EN"
> > "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
> > <validators>
> > <field name="username">
> > <field-validator type="required">
> > <message>El usuario es requerido</message>
> > </field-validator>
> > </field>
> > <field name="password">
> > <field-validator type="required">
> > <message>La contrasenia es requerida</message>
> > </field-validator>
> > </field>
> > </validators>
> >
> > validators.xml:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!DOCTYPE validators PUBLIC
> > "-//Apache Struts//XWork Validator Definition 1.0//EN"
> > "
> http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd
> > ">
> > <validators>
> > <validator name="required"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
> > <validator name="requiredstring"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
> > <validator name="int"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
> > <validator name="long"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
> > <validator name="short"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
> > <validator name="double"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
> > <validator name="date"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
> > <validator name="expression"
> >
> class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
> > <validator name="fieldexpression"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
> > <validator name="email"
> > class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
> > <validator name="url"
> > class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
> > <validator name="visitor"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
> > <validator name="conversion"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
> > <validator name="stringlength"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
> > <validator name="regex"
> >
> class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
> > <validator name="conditionalvisitor"
> >
> >
> class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
> > </validators>
> >
> > The form tag has validate="true".
> >
> > When I generate the login page I get:
> >
> > <script type="text/javascript">
> > function validateForm_login() {
> > var getFieldValue = function(field) {
> > var type = field.type ? field.type : field[0].type;
> > if (type == 'select-one' || type == 'select-multiple') {
> > return (field.selectedIndex == -1 ? "" :
> > field.options[field.selectedIndex].value);
> > } else if (type == 'checkbox' || type == 'radio') {
> > if (!field.length) {
> > field = [field];
> > }
> > for (var i = 0; i < field.length; i++) {
> > if (field[i].checked) {
> > return field[i].value;
> > }
> > }
> > return "";
> > }
> > return field.value;
> > }
> > form = document.getElementById("login");
> > clearErrorMessages(form);
> > clearErrorLabels(form);
> >
> > var errors = false;
> > var continueValidation = true;
> >
> > return !errors;
> > }
> > </script>
> >
> > It's like the validation framework is not detecting the fields.
> >
> > Regards,
> >
> > Nestor Boscan
> >
> >
>
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@gmail.com>.
Hi
<s:form name="login" method="post" action="login!login.action"
validate="true">
<s:hidden name="request_id" value="%{#parameters.request_id}"/>
<s:textfield name="username" key="username" size="25"
cssClass="mystyle1"/>
<s:password name="password" key="password" size="25"
cssClass="mystyle1"/>
</s:form>
It looks like this version of Struts 2 doesn't like the Dynamic Method
Invocation in login!login.action. If I don't use DMI it works. Older
versions of the framework worked with DMI.
Regards,
Néstor
On Sat, Sep 21, 2013 at 5:24 PM, <jl...@gmail.com> wrote:
> Can you provide the jsp snipset for the form?
> Sent via BlackBerry from T-Mobile
>
> -----Original Message-----
> From: Néstor Boscán <ne...@gmail.com>
> Date: Sat, 21 Sep 2013 16:15:23
> To: Struts Users Mailing List<us...@struts.apache.org>
> Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
> Subject: S2: Not generating javascript validation
>
> Hi
>
> I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6. This
> are my files:
>
> LoginAction-validation.xml:
>
> <!DOCTYPE validators PUBLIC
> "-//Apache Struts//XWork Validator 1.0.3//EN"
> "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
> <validators>
> <field name="username">
> <field-validator type="required">
> <message>El usuario es requerido</message>
> </field-validator>
> </field>
> <field name="password">
> <field-validator type="required">
> <message>La contrasenia es requerida</message>
> </field-validator>
> </field>
> </validators>
>
> validators.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE validators PUBLIC
> "-//Apache Struts//XWork Validator Definition 1.0//EN"
> "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd
> ">
> <validators>
> <validator name="required"
>
> class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
> <validator name="requiredstring"
>
> class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
> <validator name="int"
>
> class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
> <validator name="long"
>
> class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
> <validator name="short"
>
> class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
> <validator name="double"
>
> class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
> <validator name="date"
>
> class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
> <validator name="expression"
> class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
> <validator name="fieldexpression"
>
> class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
> <validator name="email"
> class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
> <validator name="url"
> class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
> <validator name="visitor"
>
> class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
> <validator name="conversion"
>
> class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
> <validator name="stringlength"
>
> class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
> <validator name="regex"
> class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
> <validator name="conditionalvisitor"
>
> class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
> </validators>
>
> The form tag has validate="true".
>
> When I generate the login page I get:
>
> <script type="text/javascript">
> function validateForm_login() {
> var getFieldValue = function(field) {
> var type = field.type ? field.type : field[0].type;
> if (type == 'select-one' || type == 'select-multiple') {
> return (field.selectedIndex == -1 ? "" :
> field.options[field.selectedIndex].value);
> } else if (type == 'checkbox' || type == 'radio') {
> if (!field.length) {
> field = [field];
> }
> for (var i = 0; i < field.length; i++) {
> if (field[i].checked) {
> return field[i].value;
> }
> }
> return "";
> }
> return field.value;
> }
> form = document.getElementById("login");
> clearErrorMessages(form);
> clearErrorLabels(form);
>
> var errors = false;
> var continueValidation = true;
>
> return !errors;
> }
> </script>
>
> It's like the validation framework is not detecting the fields.
>
> Regards,
>
> Nestor Boscan
>
>
Re: S2: Not generating javascript validation
Posted by Lukasz Lenart <lu...@apache.org>.
I have updated the example to show how validation works with !
https://github.com/lukaszlenart/struts2-dmi-validation
2013/10/2 Lukasz Lenart <lu...@apache.org>:
> 2013/10/1 Néstor Boscán <ne...@tcs.com.ve>:
>> Sorry I made that change so I could use only login in the form tag to make
>> the validation work.
>
> Ok, but you have LoginAction-validation.xml which should be applied to
> the whole LoginAction - doesn't matter what method do you use. I have
> prepared a small example base on [1] and cannot confirm your problem -
> JS validation works. Could you prepare a small example?
>
> Please remember that there as some methods excluded from validation:
> input,back,cancel,browse
>
>
> [1] https://github.com/lukaszlenart/struts2-dmi-validation
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: Not generating javascript validation
Posted by Lukasz Lenart <lu...@apache.org>.
2013/10/1 Néstor Boscán <ne...@tcs.com.ve>:
> Sorry I made that change so I could use only login in the form tag to make
> the validation work.
Ok, but you have LoginAction-validation.xml which should be applied to
the whole LoginAction - doesn't matter what method do you use. I have
prepared a small example base on [1] and cannot confirm your problem -
JS validation works. Could you prepare a small example?
Please remember that there as some methods excluded from validation:
input,back,cancel,browse
[1] https://github.com/lukaszlenart/struts2-dmi-validation
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@tcs.com.ve>.
Sorry I made that change so I could use only login in the form tag to make
the validation work.
On Tuesday, October 1, 2013, Lukasz Lenart <lu...@apache.org> wrote:
> 2013/9/30 Néstor Boscán <ne...@tcs.com.ve>:
>> <action name="login" class="loginAction" method="login">
>
> Why do you use login!login as action login is already defined to use
> login method?
>
> So login.action is the same as login!login.action (just drop .action)
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
Re: S2: Not generating javascript validation
Posted by Lukasz Lenart <lu...@apache.org>.
2013/9/30 Néstor Boscán <ne...@tcs.com.ve>:
> <action name="login" class="loginAction" method="login">
Why do you use login!login as action login is already defined to use
login method?
So login.action is the same as login!login.action (just drop .action)
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@tcs.com.ve>.
I have:
struts.xml:
<constant name="struts.objectFactory" value="spring"/>
<constant name="struts.configuration.xml.reload" value="false"/>
<constant name="struts.devMode" value="false"/>
<constant name="struts.ui.theme" value="bdv"/>
<constant name="struts.locale" value="es_ve"/>
<constant name="struts.tag.altSyntax" value="true"/>
<constant name="struts.custom.i18n.resources" value="mensajes"/>
<constant name="struts.freemarker.templatesCache" value="true"/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<include file="struts-seguridad.xml"/>
</struts>
struts-seguridad.xml:
<struts>
<package name="seguridad" namespace="/seguridad" extends="default">
<action name="login" class="loginAction" method="login">
<result name="input">/WEB-INF/jsp/seguridad/login.jsp</result>
<result name="error">/WEB-INF/jsp/seguridad/login.jsp</result>
<result name="success">/WEB-INF/jsp/seguridad/login.jsp</result>
</action>
</package>
</struts>
Thanks for the help
On Sun, Sep 22, 2013 at 1:49 PM, Lukasz Lenart <lu...@apache.org>wrote:
> Can you post your struts.xml? And you don't have such constant defined
> <constant name="struts.enable.DynamicMethodInvocation" value="false"
> /> ?
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> 2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
> > Yes and it doesn't work. It only works with "login".
> >
> > Thanks for the help
> >
> > On Sunday, September 22, 2013, Lukasz Lenart <lu...@apache.org>
> > wrote:
> >> 2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
> >>> Hi
> >>>
> >>> <s:form name="login" method="post" action="login!login.action"
> >>> validate="true">
> >>
> >> Have you tried to use: login!login ? Attribute action expects action
> >> name, not how it is rendered (i.e. if you change default action
> >> extension to .html)
> >>
> >>
> >> Regards
> >> --
> >> Łukasz
> >> + 48 606 323 122 http://www.lenart.org.pl/
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
Re: S2: Not generating javascript validation
Posted by Lukasz Lenart <lu...@apache.org>.
Can you post your struts.xml? And you don't have such constant defined
<constant name="struts.enable.DynamicMethodInvocation" value="false"
/> ?
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
> Yes and it doesn't work. It only works with "login".
>
> Thanks for the help
>
> On Sunday, September 22, 2013, Lukasz Lenart <lu...@apache.org>
> wrote:
>> 2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
>>> Hi
>>>
>>> <s:form name="login" method="post" action="login!login.action"
>>> validate="true">
>>
>> Have you tried to use: login!login ? Attribute action expects action
>> name, not how it is rendered (i.e. if you change default action
>> extension to .html)
>>
>>
>> Regards
>> --
>> Łukasz
>> + 48 606 323 122 http://www.lenart.org.pl/
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@tcs.com.ve>.
Yes and it doesn't work. It only works with "login".
Thanks for the help
On Sunday, September 22, 2013, Lukasz Lenart <lu...@apache.org>
wrote:
> 2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
>> Hi
>>
>> <s:form name="login" method="post" action="login!login.action"
>> validate="true">
>
> Have you tried to use: login!login ? Attribute action expects action
> name, not how it is rendered (i.e. if you change default action
> extension to .html)
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
Re: S2: Not generating javascript validation
Posted by Lukasz Lenart <lu...@apache.org>.
2013/9/22 Néstor Boscán <ne...@tcs.com.ve>:
> Hi
>
> <s:form name="login" method="post" action="login!login.action"
> validate="true">
Have you tried to use: login!login ? Attribute action expects action
name, not how it is rendered (i.e. if you change default action
extension to .html)
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: Not generating javascript validation
Posted by Néstor Boscán <ne...@tcs.com.ve>.
Hi
<s:form name="login" method="post" action="login!login.action"
validate="true">
<s:hidden name="request_id" value="%{#parameters.request_id}"/>
<s:textfield name="username" key="username" size="25"
cssClass="mystyle1"/>
<s:password name="password" key="password" size="25"
cssClass="mystyle1"/>
</s:form>
Thanks for the help
On Sat, Sep 21, 2013 at 5:24 PM, <jl...@gmail.com> wrote:
> Can you provide the jsp snipset for the form?
> Sent via BlackBerry from T-Mobile
>
> -----Original Message-----
> From: Néstor Boscán <ne...@gmail.com>
> Date: Sat, 21 Sep 2013 16:15:23
> To: Struts Users Mailing List<us...@struts.apache.org>
> Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
> Subject: S2: Not generating javascript validation
>
> Hi
>
> I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6. This
> are my files:
>
> LoginAction-validation.xml:
>
> <!DOCTYPE validators PUBLIC
> "-//Apache Struts//XWork Validator 1.0.3//EN"
> "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
> <validators>
> <field name="username">
> <field-validator type="required">
> <message>El usuario es requerido</message>
> </field-validator>
> </field>
> <field name="password">
> <field-validator type="required">
> <message>La contrasenia es requerida</message>
> </field-validator>
> </field>
> </validators>
>
> validators.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE validators PUBLIC
> "-//Apache Struts//XWork Validator Definition 1.0//EN"
> "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd
> ">
> <validators>
> <validator name="required"
>
> class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
> <validator name="requiredstring"
>
> class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
> <validator name="int"
>
> class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
> <validator name="long"
>
> class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
> <validator name="short"
>
> class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
> <validator name="double"
>
> class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
> <validator name="date"
>
> class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
> <validator name="expression"
> class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
> <validator name="fieldexpression"
>
> class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
> <validator name="email"
> class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
> <validator name="url"
> class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
> <validator name="visitor"
>
> class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
> <validator name="conversion"
>
> class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
> <validator name="stringlength"
>
> class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
> <validator name="regex"
> class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
> <validator name="conditionalvisitor"
>
> class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
> </validators>
>
> The form tag has validate="true".
>
> When I generate the login page I get:
>
> <script type="text/javascript">
> function validateForm_login() {
> var getFieldValue = function(field) {
> var type = field.type ? field.type : field[0].type;
> if (type == 'select-one' || type == 'select-multiple') {
> return (field.selectedIndex == -1 ? "" :
> field.options[field.selectedIndex].value);
> } else if (type == 'checkbox' || type == 'radio') {
> if (!field.length) {
> field = [field];
> }
> for (var i = 0; i < field.length; i++) {
> if (field[i].checked) {
> return field[i].value;
> }
> }
> return "";
> }
> return field.value;
> }
> form = document.getElementById("login");
> clearErrorMessages(form);
> clearErrorLabels(form);
>
> var errors = false;
> var continueValidation = true;
>
> return !errors;
> }
> </script>
>
> It's like the validation framework is not detecting the fields.
>
> Regards,
>
> Nestor Boscan
>
>
Re: S2: Not generating javascript validation
Posted by jl...@gmail.com.
Can you provide the jsp snipset for the form?
Sent via BlackBerry from T-Mobile
-----Original Message-----
From: Néstor Boscán <ne...@gmail.com>
Date: Sat, 21 Sep 2013 16:15:23
To: Struts Users Mailing List<us...@struts.apache.org>
Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
Subject: S2: Not generating javascript validation
Hi
I'm using the latest 2.3.15.2 version of struts 2 on weblogic 10.3.6. This
are my files:
LoginAction-validation.xml:
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="username">
<field-validator type="required">
<message>El usuario es requerido</message>
</field-validator>
</field>
<field name="password">
<field-validator type="required">
<message>La contrasenia es requerida</message>
</field-validator>
</field>
</validators>
validators.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Definition 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
<validators>
<validator name="required"
class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring"
class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
<validator name="int"
class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
<validator name="long"
class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
<validator name="short"
class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
<validator name="double"
class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
<validator name="date"
class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
<validator name="expression"
class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression"
class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email"
class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
<validator name="url"
class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
<validator name="visitor"
class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
<validator name="conversion"
class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength"
class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
<validator name="regex"
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
<validator name="conditionalvisitor"
class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
The form tag has validate="true".
When I generate the login page I get:
<script type="text/javascript">
function validateForm_login() {
var getFieldValue = function(field) {
var type = field.type ? field.type : field[0].type;
if (type == 'select-one' || type == 'select-multiple') {
return (field.selectedIndex == -1 ? "" :
field.options[field.selectedIndex].value);
} else if (type == 'checkbox' || type == 'radio') {
if (!field.length) {
field = [field];
}
for (var i = 0; i < field.length; i++) {
if (field[i].checked) {
return field[i].value;
}
}
return "";
}
return field.value;
}
form = document.getElementById("login");
clearErrorMessages(form);
clearErrorLabels(form);
var errors = false;
var continueValidation = true;
return !errors;
}
</script>
It's like the validation framework is not detecting the fields.
Regards,
Nestor Boscan