- PR -

Validator url検証について

1
投稿者投稿内容
tayut
会議室デビュー日: 2006/04/26
投稿数: 2
お住まい・勤務地: 神奈川
投稿日時: 2006-04-26 19:02
Validatorのurl検証について
たとえばhttp://www.atmarkit.co.jp/のアドレスを
下記環境においてValidatorのurlで検証しても
「ホームページアドレス は正しいURLではありません。」
とはじいてしまいます。何故でしょうか?
そもそも正しいURLとはどのような形式なのでしょうか?

*それ以外の検証ルール(required,email)はすべてルールに
則っています。


以下環境等
――
【開発環境】
Eclipse3.1.1(All-In-One Eclipse2.0)
Tomcat4.1.31
TomcatプラグインV31
Struts1.2.9
StrutsIDE

【validator.xml】
<field property="website" depends="url">
<arg position="0" key="inputForm.website" />
</field>

【application.properties】
errors.url={0} は正しいURLではありません。
:
inputForm.website = ホームページアドレス

【ValidatorFormクラス】
public class InputForm extends ValidatorForm {
:
:
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}

【input.jsp】
<html:errors />
<html:javascript formName="inputForm" />
<html:form action="/input" onsubmit="return validateInputForm(this);">
<table border="1">
<tr><td>名前</td><td><html:text property="name" size="30" /></td></tr>
<tr><td>郵便番号</td><td><html:text property="zip" size="30" /></td></tr>
<tr><td>住所</td><td><html:text property="address" size="30" /></td></tr>
<tr><td>電話番号</td><td><html:text property="tel" size="30" /></td></tr>
<tr><td>メールアドレス</td><td><html:text property="email" size="30" /></td></tr>
<tr><td>ホームページアドレス</td><td><html:text property="website" size="30" /></td></tr>
</table>
<html:submit> 確認 </html:submit>
</html:form>

――
ハツキタツミ
大ベテラン
会議室デビュー日: 2005/05/24
投稿数: 108
投稿日時: 2006-04-27 09:21
Commons Validatorのバグのようです。
Struts 1.2.8であれば、Commons Validatorは1.1.4が標準のはず。
すると、
http://blog.ozacc.com/archives/001210.html
とか、
http://issues.apache.org/bugzilla/show_bug.cgi?id=30686
とか、いろいろ出てきます。

とりあえず、Ver 1.2.0に置き換えることで修正できそうです。
tayut
会議室デビュー日: 2006/04/26
投稿数: 2
お住まい・勤務地: 神奈川
投稿日時: 2006-04-27 11:05
http://www.jajakarta.org/kvasir/bbs/technical/1222?msg=2#msg4096
この環境でした。もう少し調べてから質問すべきでした。

StrutsIDE2.0.0ではCommons Validatorの指定は1_1_3.dtdでした。
また、struts1.2.9を使ってるつもりがそうではなかったようです。
StrutsIDEはstruts1.2のようです。
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=StrutsIDE

なので下記サイトの1.5 の依存するCommonsも変える必要があるみたいです。
http://wiki.apache.org/jakarta-commons/ValidatorVersion120

ハツキタツミさん
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)