Я использую CodeIgniter DataMapper ORM, но есть кое-что, что я не совсем понимаю.
В этом примере http://datamapper.wanwizard.eu/pages/examples/login.html, вы можете видеть, что в классе модели User определены некоторые $validation
правила.
Внутри функции login
вы также можете видеть, что она вызывает $this->validate()->get()
. Когда функция validation
запущена, она должна проверить соответствие всем правилам с $validation
.
Что я не понимаю, так это то, что для случая использования входа в систему необходимо проверять только имя пользователя и пароль, но вы можете видеть, что в этом примере есть другие правила проверки, не связанные с этим вариантом использования. В частности, в $validation
определено правило confirm_password
, и это правило, очевидно, предназначено только для случая использования обновления, а не для случая использования входа в систему.
Поскольку я не вижу никаких кодов, которые обходят эти несвязанные правила в примере, как ORM DataMapper фактически знает, что эти несвязанные правила можно обойти в функции login
?
Большое спасибо всем вам.