rob*_*sch 6 validation exception-handling yii yii2
我不确定这是否仅限于Yii2,或者它是否也可以与其他框架或甚至一般性讨论.
在Yii2中,我可以在模型对象上调用validate().这将返回true或false.如果为false,我可以调用getErrors()来查看此对象中当前存在哪些验证问题.
为什么这种行为以这种方式实现?为什么validate()不会抛出一些ValidationExceptions?我发现错误也是模型对象的一部分.为什么他们不属于这种例外?
这种实现的优点是什么?为什么这样做?我更喜欢例外.有了这个,我可以更好地区分所需的和特殊的处理.所有不需要的东西都在catch块中处理.期望发生在try块中.这不是个好主意吗?
因为通常错误与表单结合使用.
假设您有一个带有一些输入字段的表单(链接到模型属性/属性),并且您想要对这些字段执行某些操作,可能会保存它们或其他内容.
在保存字段之前,您需要验证它们是否全部有效.validate()调用该方法时,将逐个验证所有属性,如果需要,每个属性都会生成错误.如果验证为false并且您有错误集合,则可以再次显示表单,但这次将错误附加到字段.
如果每次发生错误时都抛出异常,则应用程序将停止运行并仅显示一个错误.或者您必须为所有属性编写try-catch块,这是不必要的.当验证返回true时,您可以运行执行处理的下一步,并确保所有值都有效.
如果你真的想要例外,你当然可以编写自己的验证器(http://www.yiiframework.com/doc-2.0/yii-validators-validator.html)
| 归档时间: |
|
| 查看次数: |
3398 次 |
| 最近记录: |