nette / forms

📝 Generating, validating and processing secure forms in PHP. Handy API, fully customizable, server & client side validation and mature design.

Home Page:https://doc.nette.org/forms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Validate Integer by Numeric rule throw TypeError

h4kuna opened this issue · comments

Version: 3.0.4

I know this is uninteresting use case.

Bug Description

If you want validate Integer by Numeric rule, than throw exception.

Steps To Reproduce

Here is form for sanbox. Let's fill value and send.

<?php declare(strict_types=1);

namespace App\Presenters;

use Nette\Application\UI\Form;

final class HomepagePresenter extends BasePresenter
{

	protected function createComponentForm()
	{
		$form = new Form();
		$form->addInteger('trim')
			->addCondition($form::FILLED)
			->addRule($form::NUMERIC, 'Musí být číslo.');
//	my fix	->addRule($form::FILLED, 'Musí být číslo.');
		
		$form->addSubmit('send');

		$form->onSuccess[] = function ($form, $values) {
			dumpe($values);
		};

		return $form;
	}

}

Expected Behavior

The form try to validate input value.

Possible Solution

In Validator::validateNumeric expected string but int given. Maybe cast value?