john.brown
просто кулибин
zerkms
А при чем тут капча? Вот она точно никак не связана с моделью. И проверяется контроллером.
Если данных там нет, то заполняем невалидными данными, в моем случае NULL. И получаем предсказуемый ексепшн.
П.С. был бы у нас более строгий язык, и разговор у нас был бы другой...
А при чем тут капча? Вот она точно никак не связана с моделью. И проверяется контроллером.
Может так станет понятнее?гхм, я как-то думал, что ты "за" валидацию моделью.
тогда твоя позиция оказывается совсем непонятной.
PHP:
class Model extends ModelBase {
private $keys = array('id', 'name', 'password');
public function fill() {
foreach($this->keys as $key) {
$this->{$key} = $this->api->request->get($key);
}
}
public function save() {
$this->api->validator->validate($this);
if(empty($this->id)) $this->insert();
else $this->update();
}
public function getRules() {
$rules = new validator_RulesSet();
$rules->addField('id');
$rules->id->addRule(new RequiredLength(0,11));
$rules->id->addRule(new IsNumeric());
$rules->addField('name');
$rules->name->addRule(new RequiredLength(1,64));
$rules->name->addRule(new IsPlainText());
$rules->addField('password');
$rules->password->addRule(new RequiredLength(6,255));
$rules->password->addRule(new IsEqual($this->api->request->get('password_re')));
return $rules;
}
}
П.С. был бы у нас более строгий язык, и разговор у нас был бы другой...
