You are here

2 Field validation的Alpha1版

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

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

我在hook_field_attach_validate的实验成功以后,便开始寻求更一般的解决办法了。当时章林已经使用form_alter解决这个问题了,我同时也告诉了他在Drupal7下面,可以采用hook_field_attach_validate来解决这样的问题。如果仅仅是为了满足项目的需要,这个问题就可以这样结束了。每当我们遇到字段验证的时候,套用已有的代码,改造改造就可以了。

但是,我并没有这样停止下来。寻找更简单的解决办法,让字段验证可以像 webform验证一样,可以通过配置来解决问题,这对于很多人来说,是很有用的。借用模块webform_validation的名字,改造一下field_validation,我发现这个名字竟然没有被占用。想一想吧,很多好的模块名字,早已经被占用完毕了。我多少觉得自己非常的幸运。

我已经想象出来了,这个模块未来将会被上万多个站点使用,它的应用范围,与webform_validation相比,用途更广,用户量更大。我是希望它能够成为TOP 100里面的一员。这是我很早很早以前,便有的一个想法,就像希望自己的模块的安装量,能够超过东哥一样。

我在外研社,花了一个下午来开发这个模块,后来回到家里,又花了一个晚上,才有了基本的雏形,紧接着,自己又花了一个周末的时间,终于搞定了最初的alpha1版。在alpha1版里面,实现了通过配置,为字段添加正则表达式验证的功能。

现在,我们可以下载http://drupal.org/node/1148738 里面的alpha1版,来看看里面的代码。此外,大家也可以到http://drupal.org/node/1107346, 下载webform validation7.x-1.0版。我最初的代码,很多都是从webform validation里面复制过来的。

首先,我从头到尾的完整的读过webform validation的代码,觉得很不错,至少那个时候,觉得这个已经相当复杂了。同时,我还测试过webform validation模块的具体用法。但是将webform validation改造成field_validation的过程也是相当的痛苦的,调试,调试再调试。大致的过程是这样的,首先是数据库设计,也就是install文件,这个可以工作;接着是自己手工的在数据库里面,插入一个验证规则,然后检查这个验证规则,能够正常工作;最后是编写规则的配置界面。第一步比较简单,第二步是关键,第三步就是规则的增删改查,一个体力活而已,但是调试起来比较麻烦。


Drupal版本: