我想检查具有附加行为的 FlexForm 字段:如果输入的值不正确,则应该无法保存表单。这与“必需” eval函数的行为类似,后者拒绝保存空字段。
评估代码已经存在(但我没有添加整个代码):
class UsernameEvaluation
{
public function evaluateFieldValue($value, $is_in, &$set)
{
if ($value) {
$errorCode = StudipPerson::checkUsername($value);
// if wrong username, should not be possible to save form
if ($errorCode != StudipPerson::USERNAME_ERROR_OK) {
$set = false;
}
}
return $value;
}
}
即使输入了无效数据并且我使用$set
设置为 false 的调试器进行了检查,该值也会被保存。