phalcon里有没有办法让Controller与Model里的validation()方法松耦合
程序员文章站
2022-06-07 15:23:38
...
就是我的Model里已经定义了validation()方法,所以controller调用create(),save(),update()等方法在存入数据库前都会自动走validation()这个方法,有没有办法让他不走,跳过这个方法。
回复内容:
就是我的Model里已经定义了validation()方法,所以controller调用create(),save(),update()等方法在存入数据库前都会自动走validation()这个方法,有没有办法让他不走,跳过这个方法。
1, 在拓展中已经写死,不能跳过beforeValidation、beforeValidationOnXX事件。
2, 一般只写通用数据格式验证到那里,不建议把涉及业务逻辑的验证也扔进去。
3, 最佳实践是,一般涉及业务逻辑的验证是直接在Transaction Script或者Domain Object里,抛开TS不谈,你不能直接把Phalcon默认的Active Record当做领域对象使用,你还需要在抽象出Domain Object,最后通过repository作为门面。。
我们公司这是将 验证独立出来. 控制器层调用了才对数据进行验证.