WordPress プラグイン「MW WP Form」電話番号の入力を設定し、バリデーションに「電話番号と半角数字」を設定。
まず、全角数字で入力すると「電話番号の形式ではありません」と「半角数字で入力してください」のエラーが出る。
次に半角数字で入力すると「半角数字で入力してください」のエラーが出る。
ネット上に解決方法があったがプラグインのファイルを修正することになるのでバージョンアップ時に上書きされる。
以下、解決策
ファイル:wp-content\plugins\mw-wp-form\classes\validation-rules\class.numeric.php
if ( preg_match( '/^[0-9]+$/', $value ) ) {
return;
}
この部分を
if($name == "tel") {
$val = $value;
if (preg_match('/^[0-9]+-[0-9]+-[0-9]+/', $val)) {
return;
}
} else {
if (preg_match('/^[0-9]+$/', $value)) {
return;
}
}
こう変える。
$nameとバリデーションルールを「tel」にする必要がある