You are here

11 field_validation_rule_save

admin 的头像
Submitted by admin on 星期六, 2015-09-19 01:33

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

field_validation_rule_save函数是用来保存验证规则的,我现在觉得应该放到field_validation.rules.inc文件中去。这里值的学习的是drupal_write_record的使用,这个函数能够帮助我们少写很多代码,插入还是更新,对于程序员来说,我们经常需要写if语句做判断的,而drupal_write_record将插入和更新,很好的结合了起来:

drupal_write_record('field_validation_rule', $values);

drupal_write_record('field_validation_rule', $values, 'ruleid');

当然,这个函数里面再次调用了module_invoke_all,这意味着,我们的模块又提供了一个钩子函数供其它模块交互。这样写有好的地方,就是其它模块不用修改代码,就可以与我们的系统交互;不好的地方是,field_validation是一个很孤立的小功能,很少会有其它系统与我们交互,我的意思是说,这里的这个钩子是多余的,单纯为了创建钩子函数而已。当然这里的代码也是直接复制过来的。对当时的我来说,这个字段验证的模块已经足够复杂了。所以直接借鉴webform_validation的代码。如果让我自己写,是写不出来这样的代码的。


Drupal版本: