作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对字段验证,还有一些思考,关于token的思考,token模块本身不支持字段token,这在Drupal7是一个很大的功能缺失,但是一直没有人解决,我注意到这个问题,是因为我想为Field validation添加更多的token支持的功能时,比如验证一个数字的大小时,我希望这个字段的值大于另一个字段时,这个时候如果有字段token的支持,验证器就会非常的灵活。在第三方模块里面,有两个模块提供的token支持,一个就是token模块,一个是entity_token模块。为了更好的支持字段token,我编写了一个模块http://drupal.org/project/compound_token,但是很遗憾,这个模块的关注度一直很小,而且它与token模块有冲突,我向Drupal核心提交了一个补丁,解决这个冲突,但是我的这种方式,遭到了核心维护者,也是token模块的维护者的反对。其实compound_token更接近于entity_token。有时候,我们有很多好的想法,但是这些想法,在别人看来,非常的幼稚,自己会为得不到承认、认可而感到异常的失落。
此外,我还阅读了Symfony\Validator里面的所有代码,发现自己的想法,实现,很多人早就做了这样的工作,而且比自己做的更好。一直在追踪http://drupal.org/node/1696648的进展,fago和attiks, attiks想往Drupal8里面引入一个验证框架,这样表单验证、实体验证、字段验证都会统一起来,attiks是重新编写的自己实现,很多想法来自于Symfony\Validator,加入了Drupal特有的一些东西,而fago开始是支持attiks的工作的,但是后来又变了卦,转向支持基于Symfony\Validator的实现,而不是重新发明轮子。说实在的,attiks所做的工作,我也能够完成,只是没有他这样的机会,作为一个中国的Drupal开发者,我们是没有多少与这些核心开发者交流的机会的。Attiks所写的程序,想法是来自于Symfony\Validator,其实还有一部分想法,是直接来自于field validation2.X,看着别人拿走了自己的想法,写出来了自己的东西,多少有点吃不到葡萄,说葡萄酸的味道。