Уровень Model предназначен для моделирования того, как ваше приложение будет работать в реальном мире, поэтому он не обязательно должен иметь дело с данными.
Общий подход к функциям проверки - создание класса Validator
для каждого типа проверки, который вы хотите выполнить. Валидаторы должны реализовывать интерфейс, чтобы любой код, использующий объект Валидатор, мог быть уверен, что все они работают одинаково.
Примерно так:
interface iValidator
{
public function validate($mixed);
public function getMessage();
}
class Validator_Email implements iValidator
{
public function validate($data)
{
//validate an email address
}
public function getMessage()
{
return 'invalid email address.';
}
}
class Validator_PositiveInteger implements iValidator
{
public function validate($data)
{
return ctype_digit((string) $data) && $data != 0;
}
public function getMessage()
{
return 'must be a positive integer';
}
}
Если вы используете платформу, она может уже иметь классы проверки, которые вы можете использовать или расширить аналогичным образом.