mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-31 09:06:17 +00:00
Fixing "required" field detection again. Closes #3305
This commit is contained in:
parent
b9ee4fc9f1
commit
26d8351af4
2 changed files with 25 additions and 3 deletions
|
@ -115,6 +115,10 @@ class Contact extends CakeTestModel {
|
|||
'required_one' => array('required' => array('rule' => array('notEmpty'))),
|
||||
'imnotrequired' => array('required' => false, 'rule' => 'alphaNumeric', 'allowEmpty' => true),
|
||||
'imalsonotrequired' => array(
|
||||
'alpha' => array('rule' => 'alphaNumeric', 'allowEmpty' => true),
|
||||
'between' => array('rule' => array('between', 5, 30)),
|
||||
),
|
||||
'imalsonotrequired2' => array(
|
||||
'alpha' => array('rule' => 'alphaNumeric', 'allowEmpty' => true),
|
||||
'between' => array('rule' => array('between', 5, 30), 'allowEmpty' => true),
|
||||
),
|
||||
|
@ -7060,6 +7064,20 @@ class FormHelperTest extends CakeTestCase {
|
|||
);
|
||||
$this->assertTags($result, $expected);
|
||||
|
||||
$result = $this->Form->input('Contact.imalsonotrequired2');
|
||||
$expected = array(
|
||||
'div' => array('class' => 'input text'),
|
||||
'label' => array('for' => 'ContactImalsonotrequired2'),
|
||||
'Imalsonotrequired2',
|
||||
'/label',
|
||||
'input' => array(
|
||||
'type' => 'text', 'name' => 'data[Contact][imalsonotrequired2]',
|
||||
'id' => 'ContactImalsonotrequired2'
|
||||
),
|
||||
'/div'
|
||||
);
|
||||
$this->assertTags($result, $expected);
|
||||
|
||||
$result = $this->Form->input('Contact.imnotrequiredeither');
|
||||
$expected = array(
|
||||
'div' => array('class' => 'input text'),
|
||||
|
|
|
@ -247,11 +247,15 @@ class FormHelper extends AppHelper {
|
|||
if (empty($validationRules) || count($validationRules) === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$isUpdate = $this->requestType === 'put';
|
||||
foreach ($validationRules as $rule) {
|
||||
$rule->isUpdate($this->requestType === 'put');
|
||||
if (!$rule->isEmptyAllowed()) {
|
||||
return true;
|
||||
$rule->isUpdate($isUpdate);
|
||||
if ($rule->skip()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return !$rule->allowEmpty;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue