MDL-30358 forms: strict validation is too strict

This commit is contained in:
Marina Glancy 2014-10-15 11:26:52 +08:00
parent 050b930fa7
commit bf8542ce3a
2 changed files with 5 additions and 1 deletions

View File

@ -2881,7 +2881,7 @@ class MoodleQuickForm_Rule_Required extends HTML_QuickForm_Rule {
}
$stripvalues = array(
'#</?(?!img|canvas|hr).*?>#im', // all tags except img, canvas and hr
'#(\xc2|\xa0|\s|&nbsp;)#', //any whitespaces actually
'#(\xc2\xa0|\s|&nbsp;)#', // Any whitespaces actually.
);
if (!empty($CFG->strictformsrequired)) {
$value = preg_replace($stripvalues, '', (string)$value);

View File

@ -51,6 +51,8 @@ class core_formslib_testcase extends advanced_testcase {
$this->assertTrue($rule->validate("Something\nmore"));
$this->assertTrue($rule->validate("\nmore"));
$this->assertTrue($rule->validate(" more "));
$this->assertTrue($rule->validate('ш'));
$this->assertTrue($rule->validate(""));
$this->assertTrue($rule->validate("0"));
$this->assertTrue($rule->validate(0));
$this->assertTrue($rule->validate(true));
@ -88,6 +90,8 @@ class core_formslib_testcase extends advanced_testcase {
$this->assertTrue($rule->validate("\nmore"));
$this->assertTrue($rule->validate(" more "));
$this->assertTrue($rule->validate("0"));
$this->assertTrue($rule->validate('ш'));
$this->assertTrue($rule->validate(""));
$this->assertTrue($rule->validate(0));
$this->assertTrue($rule->validate(true));
$this->assertTrue($rule->validate('<p>x</p>'));