我是moodle
的新用户,并尝试在course
中自定义moodle
创建。
我通过函数中的moodle_form
数据验证,然后我需要抛出一个错误,该错误将在提交表单( course/edit_form.php
)后显示。我尝试了moodle方式,正如他们所做的那样:
throw new moodle_exception('refresher_value_less_than_one', '', '', $data->refresh_value);
我希望它在表单页面上收到错误。它显示的是错误字符串,但不在表单内,而是在空白页面上。
任何想法,如何在表单中捕获此异常。?
答案 0 :(得分:1)
如果要在表单中显示错误,则需要在表单类中创建一个名为“validation($ data,$ files)”的函数。在此表单中,您需要检查数组$ data中的值,然后返回一个错误消息数组,由错误应显示在旁边的表单字段索引。
例如,如果你有一个名为'myfield'的字段,你可以查看$ Data ['myfield']的内容,如果有问题,返回数组('myfield'=> get_string('myfielderror) ','myplugin'))。
抛出异常将立即停止页面的执行并仅输出该错误消息。