かなり古いトピックですが、同じような問題が自分の管理しているMoodle2.3.6でも起こりましたので報告いたします。
問題の内容は同様で、フォーラムを新規作成しようとして説明の欄に日本語で文字を入力すると必須チェックが通らずフォーラムが作成できないという報告がありました。
調べてみるとHTML中に validate_mod_forum_mod_form_introeditor_5btext_5d(element) というJavascript関数が見つけられ、その中で
if (value.replace(/(<[^img|hr|canvas]+>)| |\s+/ig, '') == '' && !errFlag['introeditor[text]']) {
errFlag['introeditor[text]'] = true;
_qfMsg = _qfMsg + '\n - 必須';
}
上記の処理が行われていました。ここでのチェックに失敗していることが直接の原因でした。Javascriptそのものに問題があるようで、<p>test</p>はokですが、<p>てすと</p>のような値が渡されるとバリデートに失敗します。
Moodleのプログラムを追いかけると lib/formslib.php の2617行目あたりで
function getValidationScript($format = null) {
global $CFG;
if (!empty($CFG->strictformsrequired)) {
if (!empty($format) && $format == FORMAT_HTML) {
return array('', "{jsVar}.replace(/(<[^img|hr|canvas]+>)| |\s+/ig, '') == ''");
} else {
return array('', "{jsVar}.replace(/^\s+$/g, '') == ''");
}
} else {
return array('', "{jsVar} == ''");
}
}
があり、ここでバリデート用のJavascirpt関数を生成していました。config.phpに $CFG->strictformsrequired = false; を追記すると生成されるJavascriptが変わり、
if (value == '' && !errFlag['introeditor[text]']) {
errFlag['introeditor[text]'] = true;
_qfMsg = _qfMsg + '\n - 必須';
}
のようになり、日本語が入っていてもチェックを通るようになりました…
まだ詳しくは検証していないのですが、複数管理しているMoodle2.3サイトのうち、PHP 5.3だと初期設定でこの問題が出て、PHP 5.4だと問題が出ていないような感覚です。