Merge pull request from ADmad/master-required-field

Improved "required" field detection. Closes .
This commit is contained in:
Mark Story 2012-10-26 05:40:45 -07:00
commit 20483a22ff
2 changed files with 22 additions and 3 deletions
lib/Cake
Test/Case/View/Helper
View/Helper

View file

@ -119,6 +119,11 @@ class Contact extends CakeTestModel {
'between' => array('rule' => array('between', 5, 30), 'allowEmpty' => true), 'between' => array('rule' => array('between', 5, 30), 'allowEmpty' => true),
), ),
'imnotrequiredeither' => array('required' => true, 'rule' => array('between', 5, 30), 'allowEmpty' => true), 'imnotrequiredeither' => array('required' => true, 'rule' => array('between', 5, 30), 'allowEmpty' => true),
'iamrequiredalways' => array(
'email' => array('rule' => 'email'),
'rule_on_create' => array('rule' => array('maxLength', 50), 'on' => 'create'),
'rule_on_update' => array('rule' => array('between', 1, 50), 'on' => 'update'),
),
); );
/** /**
@ -7068,6 +7073,20 @@ class FormHelperTest extends CakeTestCase {
'/div' '/div'
); );
$this->assertTags($result, $expected); $this->assertTags($result, $expected);
$result = $this->Form->input('Contact.iamrequiredalways');
$expected = array(
'div' => array('class' => 'input text required'),
'label' => array('for' => 'ContactIamrequiredalways'),
'Iamrequiredalways',
'/label',
'input' => array(
'type' => 'text', 'name' => 'data[Contact][iamrequiredalways]',
'id' => 'ContactIamrequiredalways'
),
'/div'
);
$this->assertTags($result, $expected);
} }
/** /**

View file

@ -249,11 +249,11 @@ class FormHelper extends AppHelper {
} }
foreach ($validationRules as $rule) { foreach ($validationRules as $rule) {
$rule->isUpdate($this->requestType === 'put'); $rule->isUpdate($this->requestType === 'put');
if ($rule->isEmptyAllowed()) { if (!$rule->isEmptyAllowed()) {
return false; return true;
} }
} }
return true; return false;
} }
/** /**