Problém s „Maximum call stack size exceeded“ v netteForms.js z Nette 3

- JL
 - Člen | 24
 
Ahoj,
mám formulář kde potřebuji pravidlo, že pokud je vyplněno A, musí být vyplněno B a naopak (viz příklad níže).
S javascriptem netteForms.js z Nette 2.4 vše funguje, ale po upgrade na Nette 3 a výměně netteForms.js se mi ten javascript cyklí:
Uncaught RangeError: Maximum call stack size exceeded
    at String.match (<anonymous>)
    at Object.Nette.getValue (netteForms.js:89)
    at Object.Nette.getEffectiveValue (netteForms.js:116)
    at Object.Nette.validateRule (netteForms.js:305)
    at Object.Nette.validateControl (netteForms.js:156)
    at Object.Nette.getEffectiveValue (netteForms.js:124)
    at Object.Nette.validateRule (netteForms.js:305)
    at Object.Nette.validateControl (netteForms.js:156)
    at Object.Nette.getEffectiveValue (netteForms.js:124)
    at Object.Nette.validateRule (netteForms.js:305)
Příklad formuláře:
public function createComponentForm(): Form
{
    $form = $this->formFactory->create();
    $nameInput = $form->addText('name', 'Jméno')
        ->setNullable(true);
    $surnameInput = $form->addText('surname', 'Příjmení')
        ->setNullable(true);
    $surnameInput->addConditionOn($nameInput, Form::FILLED)
        ->addRule(Form::REQUIRED, 'Zadejte prosím příjmení');
    $nameInput->addConditionOn($surnameInput, Form::FILLED)
        ->addRule(Form::REQUIRED, 'Zadejte prosím jméno');
    $form->addSubmit('save', 'Uložit');
    $form->onSubmit[] = function (Form $form): void {
        $this->processForm($form);
    };
    return $form;
}
Jak z toho ven? Mám ta pravidla špatně, nebo je to issue javascriptu k nette/forms?
Edit: Asi je to toto issue (https://github.com/…s/issues/161), nicméně mně se to projevuje jen s verzí pro Nette 3.
Editoval JL (14. 8. 2019 11:52)

- JL
 - Člen | 24
 
Myslíš sekci Validace celého formuláře ?
To mi bohužel nepomůže – PHP validaci toho aby mi neprošla nevalidní data mám zajištěnou v modelu, o to nejde. Na formulář mám napojenou contributte live form validaci, která je založená na netteForms.js a fungovala moc hezky. Jenže teď už ne, protože se v nette forms vrátilo to issue #161.