Moodle验证不起作用

时间:2014-11-22 06:39:50

标签: php moodle

我需要在提交时进行自定义验证,我的编码如下:

<?php

require_once("{$CFG->libdir}/formslib.php");

class pool_status_form extends moodleform {

   function definition() {
global $DB, $USER, $qnsCount;

       $mform =&$this->_form;
//number of question per user
$mform->addElement('text', 'peruser', get_string('peruserquestion', 'qpool'), array('id' => 'peerqn'));
$mform->addRule('peruser', null, 'required', null, 'client');
$mform->addRule('peruser', null, 'numeric', null, 'client');
$mform->setType('peruser', PARAM_RAW);


//$this->add_action_buttons(false, 'SAVE');
$mform->addElement('submit', 'subbtn', get_string("buttonlabel", "qpool"));

   }


public function validation($data, $files) {


$errors = parent::validation($data, $files);

if (($data['peruser'])>3) {

$errors['peruser'] = "Error..";

}

return $errors;
}
}

当我点击提交按钮时它直接提交,它没有检查我在我的

中提到的验证

'功能验证'。我该怎么办?

1 个答案:

答案 0 :(得分:1)

验证&#39;函数在服务器上运行。只需调用$ form-&gt; get_data(),它就会触发。

另外,为什么要添加&#39; required&#39;统治两次? 为什么数据类型为PARAM_RAW - 对我来说它看起来像PARAM_INT。