下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket List/Search
>
待辦事項 #4047
XOOPS
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
CVS
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
文檔
溝通
討論區
討論區列表
幫助論壇 (1)
公開討論 (1)
通信論壇
通信論壇列表
xoops-cvslog
新聞
待辦事項 #4047
待辦事項列表
新增待辦事項
RSS
XOBJ_DTYPE_EMAIL の null 許可が効かない
啟用日期:
2004-03-06 23:05
最後更新:
2004-03-12 05:42
監視
ON
OFF
回報者:
minahito
負責人:
(無)
類型:
問題回報
狀態:
關閉
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:
1
細節
回覆
XoopsObject の型のひとつ XOBJ_DTYPE_EMAIL
は、'required' を false (入力必須項目としない)にして
も、未入力状態では正規表現チェックのほうに引っかかってしま
い、メールアドレスエラーとなって cleanVars メソッドが終了
しません。
以下は /kernel/object.php の該当部分ですが、
case XOBJ_DTYPE_EMAIL:
if ($v['required'] && $cleanv == '') {
$this->setErrors("$k is required.");
continue;
}
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)
*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i",$cleanv)) {
$this->setErrors("Invalid Email");
continue;
}
if (!$v['not_gpc']) {
$cleanv = $ts->stripSlashesGPC
($cleanv);
}
break;
if (!preg_match( のところに、 $cleanv != '' && が必要
だと思います。
XOBJ_DTYPE_URL では 、
if ($cleanv != '' && !preg_match("/^http[s]*:\/\//i",
$cleanv)) {
というようになっています。
Ticket History (2/2 Histories)
2004-03-06 23:05
Updated by:
minahito
File
886: object.zip
is attached
2004-03-12 05:42
Updated by:
onokazu
Ticket Close date
is changed to
2004-03-12 05:42
處理結果
Update from
無
to
修正
狀態
Update from
開啟
to
關閉
評語
回覆
Logged In: YES
user_id=754
ありがとうございます。
CVSにて修正済です
http://cvs.sourceforge.jp/cgi-
bin/viewcvs.cgi/xoops/xoops2/kernel/object.php.diff?
r1=1.3&r2=1.4
Attachment File List (
1
)
Attachment File List
object.zip
(4KB)
修正を試みたファイル
編輯
新增評語
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
登入
新增評語
預覽
提交
は、'required' を false (入力必須項目としない)にして
も、未入力状態では正規表現チェックのほうに引っかかってしま
い、メールアドレスエラーとなって cleanVars メソッドが終了
しません。
以下は /kernel/object.php の該当部分ですが、
case XOBJ_DTYPE_EMAIL:
if ($v['required'] && $cleanv == '') {
$this->setErrors("$k is required.");
continue;
}
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)
*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i",$cleanv)) {
$this->setErrors("Invalid Email");
continue;
}
if (!$v['not_gpc']) {
$cleanv = $ts->stripSlashesGPC
($cleanv);
}
break;
if (!preg_match( のところに、 $cleanv != '' && が必要
だと思います。
XOBJ_DTYPE_URL では 、
if ($cleanv != '' && !preg_match("/^http[s]*:\/\//i",
$cleanv)) {
というようになっています。