我正在制作一个自定义的ActiveForm方法,但它需要模型有一个特定的自定义验证器附加到正在传递的属性(否则谁知道会发生什么!)
我的问题很简单..。有没有一种方法可以在可靠的代码中运行这种检查?
我不想在运行时添加验证器。这会造成混乱,并可能让某些人在不应该使用的地方使用这种类型的字段。
所以我想说这样的话:
if( model NOT HAVE validationMethod ON property)
throw Exception;
发布于 2011-07-23 10:13:01
我也不确定为什么要这样做,但是除了查看规则数组之外,您还可以这样做:
$model->getValidators($attribute)
检查特定属性(或所有属性,如果arg为空)的哪些验证器处于活动状态。(我在示例中假设$attribute = property。)
这将返回当前场景中处于活动状态的所有验证器对象,您可以检查是否存在预定义或自定义的类。它还为您提供了比规则数组更多的信息(即验证器类的属性)。
https://stackoverflow.com/questions/6781054
复制相似问题