文档 https://symfony.com/doc/4.4/reference/constraints/Length.html#normalizer 指出
此选项允许在检查给定值是否有效之前定义应用于给定值的 PHP 可调用对象。
例如,您可能希望传递“trim”字符串以应用 trim PHP 函数,以便在验证期间忽略前导和尾随空格。**
我可以像示例中那样调用 trim,甚至可以调用该类的静态函数:
class PersonDto
{
/**
* @Assert\Length(min="1", max="255", allowEmptyString=false, normalizer="App\Dto\PersonDto::foo")
*/
private ?string $name = null;
public static function foo($value) {
$value = 'the text has been replaced';
return $value;
}
...
}
但是由于某种原因,返回的值不会改变值。我在做什么错,或者如何将回调函数写入“规范化器”选项