Моя проверка работает нормально, но, казалось бы, случайно, восстановленные значения не являются ошибками проверки моего набора моделей, и ничто не должно вызывать ошибку, но возвращается «1» или «2».
Даже если все данные поля верны, я иногда получаю возвращаемое значение в моем массиве «1» или «2» ...
Вот моя проверка в моем контроллере:
if ($this->RequestHandler->isAjax()) {
if ($this->Plan->validates()) {
$this->Plan->set($this->data);
$errors = $this->Plan->invalidFields();
$this->set('errors', $errors);
} else {
$this->Plan->set($this->data);
}
}
А вот моя проверка модели:
'ApplicantAge' => array(
array('rule'=> array('maxLength', 3),
'message' => 'Applicant Age cannot be longer than 3 digits.'),
'last' => true,
array('rule' => array('range', -1, 120),
'message' => 'Applicant Age cannot exceed 120.'),
'last' => true,
array('rule' => 'numeric',
'message' => 'Applicant Age must be a valid age.'),
'last' => true,
),
'SpouseAge' => array(
array('allowEmpty' => true),
'last' => true,
array('rule' => array('maxLength', 3),
'message' => 'Spouse Age cannot be longer than 3 digits.'),
'last' => true,
array('rule' => array('range', -1, 120),
'message' => 'Spouse Age cannot exceed 120.'),
'last' => true,
array('rule' => 'numeric',
'message' => 'Spouse Age must be numeric.'),
'last' => true,
),
'NumberChildren' => array(
array('allowEmpty' => true),
'last' => true,
array('rule' => array('range', -1, 20),
'message' => 'Number of Children cannot exceed 20.'),
'last' => true,
array('rule' => 'numeric',
'message' => 'Number of Children must be numeric.'),
'last' => true,
),
'ZipCode' => array(
array('rule' => array('postal', null, 'us'),
'message' => 'Zip Code format must be valid. Example: 97756'),
'last' => true,
array('rule' => array('minLength', 5),
'rule' => array('maxLength', 5),
'message' => 'Zip Code must be 5 digits.'),
'last' => true
),