Moodle 规则类型

问题描述 投票:0回答:1

我想应用 Moodle 规则类型:使用 mform 元素进行比较和格式化。 对于名字元素,输入必须允许格式。 对于指定元素,输入必须与给定的任何数组值匹配。我给出了“比较”。两者似乎都不起作用。

<?php     
    require('config.php');
    require_once($CFG->libdir.'/formslib.php');
    
    class active_form extends moodleform {
    
        function definition()   {
                
            $mform = $this->_form;      
            $fileoptions = $this->_customdata['fileoptions'];
    
            $mform->addElement('text', 'forename', get_string('forename', 'form'), 
            array('name'=>'forename[]'));                       
            $mform->setType('forename', PARAM_RAW);
            $mform->addRule('forename', get_string('forename'), 'required', $format='$NAME_00_00#', 
            'client', $force=true);
    
            $mform->addElement('text', 'designation', get_string('designation', 'form'), 
            array('name'=>'designation[]'));                        
            $mform->setType('designation', PARAM_RAW);
            $mform->addRule('designation', get_string('err_designation'), 'compare', 
            array('designation' =>'IT', 'Mechanical', 'EEE', ECE'), 'neq'); 
         
            $this->add_action_buttons();        
        }
    
        function validation($data, $files) {
            $errors = parent::validation($data, $files);
            return $errors;
        }
    }

?>
moodle moodle-api
1个回答
0
投票

如果您需要特定类型的输入,您可以进行下拉菜单:

$mform->addElement('select', 'test','Feedback', array(
    ''=>'',
    'good'=>'Good',
    'soso'=> 'So-So',
    'bad'=>'Bad'
));
$mform->setDefault('test', '');
$mform->setType('test', PARAM_TEXT);
© www.soinside.com 2019 - 2024. All rights reserved.