/** * @param IValidator $validator * @param MessageBindingModel $message * @return IValidator */ private function validateMessage(IValidator $validator, MessageBindingModel $message) { $validator->setRule('required', $message->first_name, null, 'First Name'); $validator->setRule('minlength', $message->first_name, 2, 'First Name'); $validator->setRule('maxlength', $message->first_name, 30, 'First Name'); $validator->setRule('required', $message->last_name, null, 'Last Name'); $validator->setRule('minlength', $message->last_name, 2, 'Last Name'); $validator->setRule('maxlength', $message->last_name, 30, 'Last Name'); $validator->setRule('required', $message->phone, null, 'Phone'); $validator->setRule('minlength', $message->phone, 3, 'Phone'); $validator->setRule('maxlength', $message->phone, 20, 'Phone'); $validator->setRule('required', $message->email, null, 'Email'); $validator->setRule('email', $message->email, null, 'Email'); $validator->setRule('required', $message->content, null, 'Content'); $validator->setRule('maxlength', $message->content, 1000, 'Content'); $validator->setRule('maxlength', $message->about, 200, 'About'); return $validator; }
/** * @param IValidator $validator * @param EstateAdBindingModel $estate * @return IValidator */ private function validateEstateAd(IValidator $validator, EstateAdBindingModel $estate) { $validator->setRule('required', $estate->area, null, 'Area'); $validator->setRule('gtOrEqual', $estate->area, 5, 'Area'); $validator->setRule('ltOrEqual', $estate->area, 500, 'Area'); $validator->setRule('int', $estate->area, null, 'Area'); $validator->setRule('required', $estate->price, null, 'Price'); $validator->setRule('gtOrEqual', $estate->price, 1, 'Price'); $validator->setRule('ltOrEqual', $estate->price, 10000000, 'Price'); $validator->setRule('int', $estate->price, null, 'Price'); $validator->setRule('required', $estate->location, null, 'Location'); $validator->setRule('maxlength', $estate->location, 30, 'Location'); $validator->setRule('minlength', $estate->location, 3, 'Location'); $validator->setRule('required', $estate->floor, null, 'Floor'); $validator->setRule('gtOrEqual', $estate->floor, 0, 'Floor'); $validator->setRule('ltOrEqual', $estate->floor, 100, 'Floor'); $validator->setRule('int', $estate->floor, null, 'Floor'); $validator->setRule('required', $estate->phone, null, 'Phone'); $validator->setRule('maxlength', $estate->phone, 20, 'Phone'); $validator->setRule('required', $estate->description, null, 'Description'); $validator->setRule('minlength', $estate->description, 5, 'Description'); $validator->setRule('maxlength', $estate->description, 5000, 'Description'); $validator->setRule('required', $estate->is_furnished, null, 'Is Furnished'); $validator->setRule('required', $estate->ad_type, null, 'Ad Type'); $validator->setRule('required', $estate->category_id, null, 'Category'); $validator->setRule('required', $estate->city_id, null, 'City'); $validator->setRule('mimeTypes', $estate->main_image, 'jpg,gif', 'Main Image'); $validator->setRule('lt', $estate->main_image['size'], 20971520, 'Main Image'); $validator->setRule('postMaxSize', ini_get('post_max_size'), null, null); foreach ($estate->images as $image) { $validator->setRule('mimeTypes', $image, 'jpg,gif', 'Main Image'); $validator->setRule('lt', $image['size'], 20971520, 'Main Image'); } return $validator; }