Open
Description
- bug report? yes
- feature request? no
- version: 2.4
Description
Při použití vlastních valičních pravidel se nepředají hodnoty, ale objekty:
[{"control":"username"},{"control":"first_name"},{"control":"last_name"}]
Toto nastane až při validaci prvku "password_again".
Problém ve funkci, kde se opětovně validuje prvek oproti starší verzi
Nette.expandRuleArgument = function(form, arg) {
if (arg && arg.control) {
var control = form.elements.namedItem(arg.control),
value = {value: Nette.getEffectiveValue(control)};
Nette.validateControl(control, null, true, value);
arg = value.value;
}
return arg;
};
Steps To Reproduce
$form->addPassword('password')
->setRequired(_('Vyplňte prosím heslo.'))
->addRule($form::MIN_LENGTH, _('Heslo musí mít minimálně %s znaků.'), 8)
->addRule(UserFormRules::PASSWORD, _('Heslo nesmí obsahovat login, jméno, ani příjmení.'), [$form['username'], $form['first_name'], $form['last_name']]);
$form->addPassword('password_again')
->setRequired(_('Vyplňte prosím heslo znovu pro kontrolu.'))
->addRule($form::EQUAL, _('Zadaná hesla se neshodují.'), $form['password']);
Nette.validators.AppLibsUserFormRules_validatePassword = function (elem, arg, value) {
var value = webalize(value);
var res = true;
$.each(arg, function (id, val) {
if (value.indexOf(webalize(val)) >= 0 && val.trim().length > 0) {
res = false;
}
});
return res;
};
Metadata
Assignees
Labels
No labels
Activity