21 Field Validation Beta1版的改进

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
很多人提出了很多的问题,其中一个很简单,就是代码里面带有调试信息,相关问题可以参看http://drupal.org/node/1157324,问题的提出者是Lullabot的ericduran。我按照他提交的补丁,去除了调试信息,当然,还删除了很多从webform_validation复制过来的无用的函数。

Drupal版本:

20 补充说明

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com​
代码里面问题很多,我把这样的代码放到了drupal.org上面去以后,有人用过以后,给出了大量的改进意见,还有人提出了赤裸裸的批评。不过alpha1里面的代码,是可以工作的,很好的解决了我们实际中的问题。

Drupal版本:

19 添加/编辑表单合二为一

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
另外就是添加/编辑验证规则的表单,使用了同一个函数field_validation_manage_rule,只不过在这个函数内部,做了判断。这样的话,便可以达到复用代码的作用,因为添加和编辑表单两者之间,相似度是非常大的,在Drupal内部,将两者合并是最常见的用法。我以前写程序的时候,最开始开发Drupal的时候,总是将两者分开写。

Drupal版本:

18 确认表单的使用

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
admin.inc文件,负责的是Field validation的UI界面,用来向字段添加规则、编辑规则、删除规则、浏览规则的。这里面有几点可供借鉴,一个是确认表单的使用:
return confirm_form($form,

Drupal版本:

15 field_validation_get_validators

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
函数field_validation_get_validators用来获取所有的字段验证器,这里再次使用了module_invoke_all,hook_field_validation_validators就是在这里定义的,这里还使用了:
drupal_alter('field_validator', $validators);

Drupal版本:

14 field_validation_field_validation_validate

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

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
field_validation_field_validation_validate这也是一个钩子函数的实现,。这里面包含了验证器的验证规则。当传递过来的数据没有通过正则验证时,我们返回一个包含错误信息的数组。这个错误消息,应该通过引用传递的,但是module_invoke_all不支持引用传递。所以只好这样变通一下

Drupal版本:

页面

Subscribe to Think in Drupal RSS