简体   繁体   中英

upgrade struts 2.1 to struts 2.3 facing issue

In my application I am using the struts XML validation which was working fine with Struts 2.1 and I just upgrade it to 2.3 and now email validation is not working for jamshed.katta@icab.cat .

my regex is like this

<field name="email">
    <field-validator type="requiredstring">
        <message key="register.validation.email" />
    </field-validator>
    <field-validator type="email">
    <param name="regexExpression">\\b^['_a-z0-9-\\+]+(\\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)\*\.([a-z]{2}|aero|arpa|asia|biz|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel|xxx|**cat**)$\\b</param>
        <message key="register.validation.email.format" />
    </field-validator>
</field>

If you want a regexp like the below figure :

在此处输入图片说明

You can change your regexp like this :

(^['_a-z0-9-\\+]+(?:\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(?:\.[a-z0-9-]+\.?)*(?:[a-z]{2}|aero|arpa|asia|biz|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel|xxx|cat)$)

DEMO and Explanation

Try this regex validator:

<field name="email">
    <field-validator type="requiredstring">
        <message key="register.validation.email" />
    </field-validator>
    <field-validator type="regex">
      <param name="regexExpression"><![CDATA[^['_a-z0-9-\+]+(\.['_a-z0-9-\+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2}|aero|arpa|asia|biz|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel|xxx|cat)$]]></param>
        <message key="register.validation.email.format" />
      <param name="caseSensitiveExpression">${false}</param>
      <param name="trimExpression">${true}</param>
    </field-validator>
</field>

It has also caseSensitiveExpression parameter and trimExpression parameters applied. More about regex validator you can find in the documentation.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM