class MainForm {
public function __construct(
#[Nested]
public SubForm $sub,
) {
}
}
class SubForm implements PropertyTranslatorProviderInterface {
#[Trim]
#[Length(min: 5, max: 30, skipOnEmpty: true)]
public ?string $phone = null;
public function getPropertyTranslator(): ?PropertyTranslatorInterface {
return new ArrayPropertyTranslator([
'phone' => 'Телефон',
]);
}
}
$form = new MainForm(new SubForm());
$form->sub->phone = '123';
$resultMain = $validator->validate($form);
$resultSub = $validator->validate($form->sub);
echo json_encode([
'main' => $resultMain->getErrorMessages(),
'sub' => $resultSub->getErrorMessages(),
]);
In error messages for main model property name is not translated
{ "main":["Phone должно содержать как минимум 5 символов."], "sub":["Телефон должно содержать как минимум 5 символов."] }
In error messages for main model property name is not translated
{ "main":["Phone должно содержать как минимум 5 символов."], "sub":["Телефон должно содержать как минимум 5 символов."] }