ある申し込みフォームを作る際、入力チェックのために
Adobe Spryを使うことになった。
以前にも少しだけ使ったことがあったので、何の問題もなく
一通り作り上げて終わったと思ってたんですが、ある指摘を
受けてしまいました。
内容は、「メールアドレスが入力出来ない」とのこと。。。
んー私のいくつかのアドレスは全てチェックして問題なかった
から変だなぁと思いつつも問題のアドレスを入力してみると
確かに入力出来なかった。
原因は、アドレスにスラッシュが入ってたから。
Spryの一部を改造するしか方法がなさそうでしたので、
方法を調べていたら既にやっている方がいました。
f-shin.heteml.jp/webstandard2007/sprywidget_sample.html
この方が試した方法をそのまま利用させていただき、無事
問題のアドレスも受け付けるようになりました。
改造したのは、ファイル名「SpryValidationTextField.js」の
213行目で
var rx = /^[\w\.-]+@[\w\.-]+\.\w+$/i;
のアットマークの前の正規表現を下記のように変更しました。
var rx = /^[\w\./?+_-]+@[\w\./?+_-]+\.\w+$/i;
以上、無事解決出来て良かったです。
※下記、修正したファイルのヘッダーに書かれているバージョン情報です。
// SpryValidationTextField.js – version 0.37 – Spry Pre-Release 1.6.1
//
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.